循环控制语句
break break 跳出循环终止本次循环
示例:#要求用户输入一个字母,当输入Q的时候退出
#!/bin/bash for((;;)) do read -p "char:" ch if [ $ch == "Q" ] then break else echo '输入的是'$ch fi done
continue 本次循环结束,可以开始下一次循环
示例:
#!/bin/bash #要求输出 1 2 3 4 6 7 8 9 跳过5 for (( i=1 ;i<10;i++ )) do if [ $i -eq 5 ];then continue fi echo $i done
1.sleep N 脚本执行 时休眠n秒
示例:一个简单的倒计时
#!bin/bash echo -n "倒计时: " for time in `seq 9 -1 0`; do echo -n -e "\b$time" sleep 1 done
监控主机是否存活 这里用的是ping(同理你还可以监控某个服务)
#!/bin/bash #监控主机存活的脚本 for ((;;)) do ping -c1 $1 &> /dev/null if [ $? -eq 0 ] then echo "`date +"%F %H:%M:%S"` : $1 is UP" else echo "`date +"%F %H:%M:%S"` : $1 is down" fi #脚本节奏控制 生产环境建议一分钟以上 sleep 5 done
调用 sh ping.sh 传入ip域名就可以 (也可以直接在脚本里面写ip)
-----while循环----------------
一、while循环
while在shell中也是负责循环的语句,和for-样。
因为功能一样,很多人在学习和工作中的脚本遇到循环到
底该使用for还是while呢?很多人不知道,就造就了有人一遇到循环就是for或者-位的while。我个人认为可
以按照我说的这个思想来使用,既知道循环次数就可以用for,比如说一天需要循环24次;如果不知道代码要
循环多少次,那就用while, 比如我们作业中要求写的猜数字,每个人猜对- -个数字的次数都是不能固定的,
也是未知的。所以这样的循环我就建议大家用while了。
二、while语法
while [ condition ] #注意 条件为真while才会循环,条件为假while停止循环 do 代码块 done
使用while 遍历文件内容
#!/bin/bash while read line do echo $line done < /etc/passwd