一、while迴圈
while迴圈用於不斷執行一系列命令,也用於從輸入檔案中讀取資料;命令通常為測試條件。其格式為:
複製代碼 代碼如下:
while 命令
do
command1
command2
...
commandN
done
命令執行完畢,控制返回迴圈頂部,從頭開始直至測試條件為假。
以下是一個基本的while迴圈,測試條件是:如果COUNTER小於5,那麼條件返回真。COUNTER從0開始,每次迴圈處理時,COUNTER加1。運行上述指令碼,返回數字1到5,然後終止。
複製代碼 代碼如下:
COUNTER=0
while [ $COUNTER -lt 5 ]
do
COUNTER='expr $COUNTER+1'
echo $COUNTER
done
運行指令碼,輸出:
1
2
3
4
5
while迴圈可用於讀取鍵盤資訊。下面的例子中,輸入資訊被設定為變數FILM,按<Ctrl-D>結束迴圈。
複製代碼 代碼如下:
echo 'type <CTRL-D> to terminate'
echo -n 'enter your most liked film: ''
while read FILM
do
echo "Yeah! great film the $FILM"
done
運行指令碼,輸出類似下面:
type <CTRL-D> to terminate
enter your most liked film: Sound of Music
Yeah! great film the Sound of Music
二、until迴圈
until迴圈執行一系列命令直至條件為真時停止。until迴圈與while迴圈在處理方式上剛好相反。一般while迴圈優於until迴圈,但在某些時候—也只是極少數情況下,until迴圈更加有用。
until迴圈格式為:
複製代碼 代碼如下:
until 條件
command1
command2
...
commandN
done
條件可為任意測試條件,測試發生在迴圈末尾,因此迴圈至少執行一次—請注意這一點。