在本小節中,我們將學習如何在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迴圈的一些範例,這些範例說明了不同的場景之中的應用,以幫助您了解它的用法和工作方式:
範例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
執行上面範例程式碼,得到以下結果: