shell中的until迴圈

2021-10-02 19:01:58 字數 1473 閱讀 2308

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表示要執行...