while 循環
語法 while 條件;do ......;done
舉例1
#!/bin/bash
while : # 冒號表示死循環 等同於while true
do
load=w|head -1|awk -F 'load average: ' '{print $2}'|cut -d . -f 1
#將w命令輸出第一行,已load average:爲分隔符 輸出第二段,並將輸出內容已“.”爲分隔符截取第一段輸出,將其賦值給變量load
if [ $load -gt 10 ]
then
/usr/local/sbin/mail.py [email protected] "load high" "$load" #發送郵件
fi
sleep 30
done
案例2
#!/bin/bash
while :
do
read -p "please input a number:" n
if [ -z "$n" ]
then
echo "please input a number:"
continue
fi
n1=echo $n|sed 's/[0-9]//g'
if [ -n "$n1" ]
then
echo "please input a number:"
continue
fi
break
done
echo $n
實現提示用戶輸入純數字
break 跳出循環
#!/bin/bash
for i in `seq 1 5`
do
echo $i
if [ $i == 3 ]
then
break
fi
echo $i
done
echo end
輸出結果爲
1
1
2
2
3
end
continue 結束本次循環,直接進行下一次循環
#!/bin/bash
for i in `seq 1 5`
do
echo $i
if [ $i == 3 ]
then
contiune
fi
echo $i
done
echo end
輸出結果爲
1
1
2
2
3
4
4
5
5
end
exit 直接退出整個腳本
#!/bin/bash
for i in `seq 1 5`
do
echo $i
if [ $i == 3 ]
then
exit
fi
echo $i
done
echo end
輸出結果爲
1
1
2
2
3