while循環:一直循環下去
使用:
01.編寫守護程序
02.讀取檔案資訊
03.做數值運算
格式
while true
do
done
使用:利用while輸出1-10
[root@zabbix_ser scripts]# cat zy
zy05.sh zy06.sh zy07.sh zy08.sh zy1.sh zy2.sh zy3.sh zy4.sh
[root@zabbix_ser scripts]# cat zy08.sh
#!/bin/bash
#################################################
# File Name: zy08.sh
# Author: fakehydra
# Mail: [email protected]
# Function:
# Created Time: 2018年11月05日 星期一 10時42分42秒
#################################################
i=0
while [ $i -le 9 ]
do
((i++))
echo $i
done
使用:利用while讀取檔案内容資訊:
擷取通路日志流量彙總資訊
sum=0
while read line
do
size='echo $line|awk '{print $10}'|grep -v -'
let sum+=size
done<$1(nginx通路日志)
echo $sum
小遊戲
規則
讓系統先随機生成一個數字, 給這個數字定一個範圍(1-60)
讓使用者輸入猜的數字,對輸入進行判斷,如果不符合要求
就給與高或低提示, 猜對後則給出猜對用的次數, 實作while循環語句實作
實作
[root@web01 scripts]# cat game_caishuzi.sh
i=`echo $(($RANDOM%+ 60))`
caice (){
read -p "pls input your num: " num
((sum++))
if [ $num -gt $i ]
then
echo "$num 太大了"
elif [ $num -lt $i ]
then
echo "$num 太小了"
else
echo "恭喜你猜對了,共$sum次"
exit 0
wc -l
fi
}
main(){
caice
}
sum=0
while true
do
main
done
for循環:主要用于執行次數有限的循環
文法說明
根據變量數值進行循環
for 變量名 in 變量取值清單;
do --;
done
根據判斷條件進行循環
for ((exp1;exp2;exp3));
do --;
done
使用:對數字1到100進行求和運算
方法一
[root@web01 scripts]# cat zy01.sh
for num in {1..100}
do
((sum+=$num))
done
echo $sum
[root@web01 scripts]# cat zy02.sh
for ((i=1;i<=100;i++))
do
sum=`expr $sum + $i`
done
echo $sum