Bash until迴圈

在本小節中,我們將學習如何在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

執行上面示例代碼,得到以下結果:
單條件until迴圈

示例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

執行上面示例代碼,得到以下結果:

多條件until迴圈


上一篇: Bash while迴圈 下一篇: Bash字串