linux中shell的基本语句,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的主机是否可达

脚本格式

运行结果

90e5a3d40dc147f9f2ecd01d93e591b2.png

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

1ec420dd0b724b534032350e33ecaed8.png

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

f1309b8ab1adf9d8112008e94febc2fe.png

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

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

10c4a8f5593dfea7aaa202000174f1ed.png

运行结果

04cb4bf88fffb9bf10f9bd9099fb9af7.png

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

echo  -n  "After  $SEC  seconds  is  end "

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

247c5d593983a285b4495744db4c6c2a.png

二、while语句

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

66b454ec4ac873b9554f4a51bb493ad0.png

或者(use_memory01.sh)

26af3a5e529acc68e74f309a9b294fcb.png

三、if语句

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

复杂型(create_user101.sh):

402503fe48ad99aea7a7c31d06c2bcbb.png

简单型(create_user100.sh):

32cce15569511c6bd24ba30d756ca115.png

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

91ae6538fbfa93d6097f46fd563e7f48.png

四、case语句

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

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

2db080ca18c83c922345ccbbba73e548.png

五、expect语句

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

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

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

查看相关命令的脚本:

4a6c3e4bad41a622e478bc7cb63feaa9.png

编写脚本:

5419fd272341cc42dcebe0113ddd5ee3.png

运行结果:

27d21be8bdd6ad5250c57d8a5ed3d60c.png

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

691b08bc301b762da92c09474b037840.png

运行结果:

0559c23be63bf3ba008f0fd1b52d10a6.png

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

/bin/expect   <

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

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

...

EOF

adf4696655067a504d11c85e572fc2b7.png

六、脚本语句控制器

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

脚本:

fcdbb55b4c73568b7e40bd59ceab5045.png

运行结果:

c5ee41b5a5fbfa7821cb9d8d8fb6f0e2.png

2.break      ##退出当前循环

脚本:

97b1421069176d57f79565e6fb6d3428.png

运行结果:

fcc37525152c71ddd978a44ce71c0d24.png

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

脚本:

237833f56eeacb3494eef4fdb5c26fcf.png

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

4cd9f457797cf969f998ea10dfb6e6b8.png

七、倒计时

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

bf256cf8a3549d33759dbc8fa7ca0de4.png

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

890c57c4773619c0c93cb9d07949de6f.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值