在 Bash 中模擬 Do-While 迴圈

Nilesh Katuwal 2023年1月30日
  1. Bash 中 do-while 迴圈的基本語法
  2. Bash 中的 break 語句
  3. Bash 中的 continue 語句
在 Bash 中模擬 Do-While 迴圈

迴圈是程式設計中的一個基本思想,在多工任務中非常有用。我們可以使用諸如 forwhileuntil 之類的許多函式來迴圈 bash 指令碼。

在本課中,我們將介紹如何在 bash 中使用 do-while 迴圈。

Bash 中 do-while 迴圈的基本語法

do-while 迴圈的基本語法如下。

while [condition]
    do
        first command;
        second command;
        .
        .
        .
        nth command;
done

while 迴圈的引數可以是任何布林表示式。當條件永遠不會計算為 false 時,迴圈將變為無限。

點選 CTRL + C 停止無限迴圈。讓我們看一個例子:

#!/bin/bash
x=0
while [ $x -le 4 ]
do
  echo "The value is $x"
  ((x++))
done

在示例中的每次迭代中,將列印變數的當前值並將其增加一。 $x 變數的初始值為 0

上面的指令碼將一直執行到第四行。字尾 -le 表示小於或等於。

輸出:

The value is 0
The value is 1
The value is 2
The value is 3
The value is 4

Bash 中的 break 語句

我們在迴圈中使用 break 語句來在滿足條件時終止迴圈。

例如,迴圈將在第九次迭代後在下面的指令碼中終止。然而,我們可以通過使用 breakif 語句在第四次迭代中停止迴圈。

#!/bin/bash
x=0
while [ $x -le 9 ]
do
  echo "The value is $x"
  ((x++))
 if [[ "$x" == '4' ]];
  then  
    break  
 fi
done

輸出:

The value is 0
The value is 1
The value is 2
The value is 3

Bash 中的 continue 語句

continue 語句退出當前迴圈迭代並將程式控制轉移到下一個迭代。

讓我們看一個例子。噹噹前迭代項等於 3 時,continue 語句使執行返回到迴圈的開頭並繼續下一次迭代。

#!/bin/bash
x=0
while [ $x -le 5 ]
do
  ((x++))
 if [[ "$x" == '3' ]];
  then  
    continue  
 fi
 echo "The value is $x"
done

輸出:

The value is 1
The value is 2
The value is 4
The value is 5
The value is 6

正如上述輸出中所預期的那樣,當 $x 等於 3 時,它會跳過迭代並繼續進行下一個迭代。