在 Bash 中模擬 Do-While 迴圈
Nilesh Katuwal
2023年1月30日
2022年5月11日
迴圈是程式設計中的一個基本思想,在多工任務中非常有用。我們可以使用諸如 for
、while
和 until
之類的許多函式來迴圈 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
語句來在滿足條件時終止迴圈。
例如,迴圈將在第九次迭代後在下面的指令碼中終止。然而,我們可以通過使用 break
和 if
語句在第四次迭代中停止迴圈。
#!/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
時,它會跳過迭代並繼續進行下一個迭代。