#!/bin/bash while : # 冒號 : 表示死循環的意思,或者1,或者 true都是死循環 do load=`w|head -1|awk -F 'load average: ' '{print $2}'|cut -d. -f1` if [ $load -gt 10 ] then /usr/local/sbin/mail.py xxx@163.com "load high" "$load" fi sleep 30 #休眠30秒,由於檢查系統負載,不須要一直去檢查,過一會再看 done [root@hf-01 shell]# sh -x while1.sh + : ++ w ++ head -1 ++ awk -F 'load average: ' '{print $2}' ++ cut -d. -f1 + load=0 + '[' 0 -gt 10 ']' + sleep 30 若想這種腳本不意外的終止,能夠打開screen,在screen跑腳本
知識點shell
while循環案例2bash
#!/bin/bash while : do read -p "Please input a number: " n if [ -z "$n" ] then echo "you need input sth." continue #continue 從新回到循環 fi n1=`echo $n|sed 's/[0-9]//g'` if [ -n "$n1" ] then echo "you just only input numbers." continue fi break #break 退出循環 done echo $n