abstrait:Shell while循環(huán)語法及特點Shell while循環(huán)的語法如下所示:while command do Statement(s) to be executed if command is true donecommand 為條件測試,如果傳回值為0(條件測試為真),則進入循環(huán)
Shell while循環(huán)語法及特點
Shell while循環(huán)的語法如下所示:
while command do Statement(s) to be executed if command is true done
command 為條件測試,如果傳回值為0(條件測試為真),則進入循環(huán),執(zhí)行命令區(qū)域,否則不進入循環(huán)。
在執(zhí)行命令的區(qū)域中,應(yīng)該要有改變條件測試的命令,這樣,才有機會在有限步驟后結(jié)束執(zhí)行while循環(huán)(除非想要執(zhí)行無窮循環(huán))。
while循環(huán)通常用來不斷執(zhí)行一系列命令,也可以用來從輸入文件中讀取數(shù)據(jù);
命令通常為測試條件。
Shell while循環(huán)使用舉例
了解了Shell while循環(huán)的語法及特點以后,接下來通過幾個例子來詳細了解下Shell while循環(huán)的使用。
例子1:
COUNTER=0 while [ $COUNTER -lt 5 ] do COUNTER='expr $COUNTER+1' echo $COUNTER done
說明:如果COUNTER小于5,那么返回 true。COUNTER從0開始,每次循環(huán)處理時,COUNTER加1,直到COUNT為5后終止。
輸出:
1
2
3
4
5
例子2:
#!/bin/bash while read text do echo ${text} done < /home/infile
說明:這個例子使用read在標準輸入讀取數(shù)據(jù),放入變量text中,如果讀到的數(shù)據(jù)非空,就進入循環(huán)。然后在循環(huán)中把該行數(shù)據(jù)顯示出來。
最后一樣是輸入重定向,將/home/infile的內(nèi)容作為此腳本的標準輸入。
此腳本的輸出結(jié)果就是infile文件的內(nèi)容。
輸出:
Hello world! I am linuxdaxue.com!
例子3:
#!/bin/bash declare -i i=1 declare -i sum=0 while ((i<=10)) do let sum+=i let ++i done echo $sum
說明:在這個例子中,首先聲明了兩個int類型的變量i和sum,然后進入下面的循環(huán),滿足條件后跳出循環(huán)。