unti 迴圈和 while 迴圈恰好相反,當判斷條件不成立時才進行迴圈,一旦判斷條件成立,就終止迴圈
until 的使用場景很少,一般使用 while 即可
shell until 迴圈的用法如下:
until condition
do statements
done
condition表示判斷條件,statements表示要執行的語句(可以只有一條,也可以有多條),do和done都是 shell 中的關鍵字
until 迴圈的執行流程為:
(1)先對 condition 進行判斷,如果該條件不成立,就進入迴圈,執行 until 迴圈體中的語句(do 和 done 之間的語句),這樣就完成了一次迴圈。
(2) 每一次執行到 done 的時候都會重新判斷 condition 是否成立,如果不成立,就進入下一次迴圈,繼續執行迴圈體中的語句,如果成立,就結束整個 until 迴圈,執行 done 後面的其它 shell **。
(3)如果一開始 condition 就成立,那麼程式就不會進入迴圈體,do 和 done 之間的語句就沒有執行的機會
如何求從 1 加到 100 的值,這節我們改用 until 迴圈
#!/bin/bash
i=1sum=0
until ((i > 100))
do ((sum += i))
((i++))
done
echo "the sum is: $sum"
在 while 迴圈中,判斷條件為((i<=100)),這裡將判斷條件改為((i>100)),兩者恰好相反
案例
cat shift.sh
#----------------------------輸出文字-開始----------------------------
#!/bin/bash
until [ -z "$1" ] # until all parameters used up
do echo "$@ "
shift
done
#----------------------------輸出文字-結束----------------------------
sh shift.sh 1 2 3 4 5 6 7 8 9
#----------------------------輸出文字-開始----------------------------
1 2 3 4 5 6 7 8 9
2 3 4 5 6 7 8 9
3 4 5 6 7 8 9
4 5 6 7 8 9
5 6 7 8 9
6 7 8 9
7 8 9
8 99
#----------------------------輸出文字-結束----------------------------
shell中的until迴圈
until迴圈和while迴圈恰好相反 當判斷條件不成立時才進行迴圈,一旦判斷條件成立,就終止迴圈 格式 until condition do statements done 注意 在until迴圈體中必須有相應的語句使得condition越來越趨近於 成立 只有這樣才能最終退出迴圈,否則until...
Shell中的until用法
基本格式 until condition do statement done 說明 until進入迴圈的條件是 condition不成立時,就執行迴圈。until進入迴圈的條件正好和while相反,while進入迴圈的條件是 condition成立時,就進入迴圈。root localhost unt...
shell程式設計 while和until迴圈
while迴圈是shell指令碼中最簡單的一種迴圈,當條件滿足時,while重複地執行一組語句 當條件不滿足時,就退出while迴圈。shell while迴圈的用法如下 while condition dostatements donecondition表示判斷條件,statements表示要執行...