linux中shell的基本语句

一、for语句

 1.for语句格式

  for   i   in {1..10}   |   `seq  1  3  10` (步距为3,即每隔3执行命令)

  do

     sleep 1    ##执行命令后休眠时间为1s

  done  

 2.编写脚本check_host.sh检查1-10的主机是否可达

 脚本格式

 运行结果

 3.编写脚本create_user01.sh自动建立userfile的用户

 4.编写脚本create_user.sh将/mnt/userfile与/mnt/passwdfile一一对应,建立

   修改脚本create_user10.sh,建立指定用户文件的用户,并与指定密码文件一一对应

   ###要求:格式不对时报错!!###

 运行结果

 5.编写脚本time_end.sh实现10s倒计时

  echo  -n  "After  $SEC  seconds  is  end "

  echo  -ne  "\r    \r"   ##覆盖掉上次输出结果

二、while语句

 1.编写脚本use_memory.sh,当根分区内存使用量超过30%时,每隔10s生成警告日志

 或者(use_memory01.sh)

三、if语句

 1.编写脚本User_create.sh,当文件个数不符合要求或者文件不存在时报错

 复杂型(create_user101.sh):

 简单型(create_user100.sh):

 2.编写脚本test.sh,当输入cat时,输出Dog;输入dog时,输出Cat;其他则报错

四、case语句  

  case语句横向同时比较,效率优于if语句

 1.编写脚本service_ctrl.sh,当输入命令时,对httpd服务做不同操作

五、expect语句

  ####注意:需要安装expect服务#####

 expect:自动应答脚本,具备自己的运行环境;针对某一脚本,自动输出结果

 1.编写脚本passwd.exp,自动修改root用户密码

  查看相关命令的脚本:

  编写脚本:

  运行结果:

 2.编写脚本ssh.exp,自动链接指定主机并停在当前位置

 运行结果:

 3.编写脚本check_host10.sh,输出76-80网络通的主机名

   /bin/expect   <<EOF   ##在当前脚本插入EOF之间的命令

   set   timeout   2   ##休眠时间2s,即无法链接是停顿2s,马上进入下一循环

   spawn   ssh   root@172.25.254.$IP   hostname   ##监控ssh命令,链接成功后执行hostname命令

   ...

  EOF

六、脚本语句控制器

  1.exit  ##退出脚本,可给出退出值

   脚本:

   运行结果:

  2.break      ##退出当前循环

   脚本:

   运行结果:

  3.continue   ##提前结束循环内部的命令,但不终止该循环

   脚本:

   运行结果(当i=5时,陷入死循环):

七、倒计时

  1.编写脚本time_end10.sh实现1:10倒计时

  2.编写脚本time_end100.sh实现min:sec倒计时



 

阅读更多
个人分类: shell
上一篇linux中shell的正则表达式
下一篇python基础知识
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭