在本小節中,我們將學習如何在Bash Script中使用until
迴圈語句。
當某些條件的值為真時,while迴圈是執行一組命令的絕佳選擇。有時,我們需要執行一組命令,直到條件評估為true
。在這種情況下,Bash until
迴圈很有用。
bash腳本中的Bash until
迴圈用於根據運算式的布爾結果重複執行一組命令。僅在運算式的值為真之前執行命令集。因此當運算式的計算結果為false
時,將迭代執行一組命令。當運算式首次為真時,迴圈終止。
簡而言之,until
迴圈與while
迴圈相似,但是概念相反。
語法
until
迴圈的語法看起來幾乎類似於bash while
迴圈的語法。但是兩者的功能都有很大的不同。bash until
迴圈的語法可以定義為:
until [ expression ];
do
command1
command2
. . .
. . . .
commandN
done
如果運算式中有多個條件,則語法如下:
until [[ expression ]];
do
command1
command2
. . .
. . . .
commandN
done
下麵給出了until
迴圈的一些關鍵(要點):
- 在執行命令之前檢查條件。
- 僅在條件評估為
false
時才執行命令。 - 條件評估為真後,迴圈終止。
- 終止後,程式控制權將轉移到緊隨
done
關鍵字之後的命令。
while迴圈與until迴圈
- 執行
until
迴圈命令,直到返回非零狀態。 - 執行
while
迴圈命令,直到返回零狀態。 until
迴圈包含至少要執行一次的屬性。
Bash until迴圈的示例
以下是bash until迴圈的一些示例,這些示例說明了不同的場景之中的應用,以幫助您瞭解它的用法和工作方式:
示例1. 單條件until迴圈
在此示例中,until迴圈在運算式中包含單個條件。這是until
迴圈的基本示例,它將列印從1到10的一系列數字。
腳本檔:until-basic.sh
#!/bin/bash
#Bash Until Loop example with a single condition
i=1
until [ $i -gt 10 ]
do
echo $i
((i++))
done
執行上面示例代碼,得到以下結果:
示例2. 多條件until迴圈
以下是在運算式中具有多個條件的示例。
腳本檔:until-basic2.sh
#!/bin/bash
#Bash Until Loop example with multiple conditions
max=5
a=1
b=0
until [[ $a -gt $max || $b -gt $max ]];
do
echo "a = $a & b = $b."
((a++))
((b++))
done
執行上面示例代碼,得到以下結果:
上一篇:
Bash while迴圈
下一篇:
Bash字串