HOWTO · Bash

在 Bash 中建立一個無限迴圈

本教程將討論如何在 Bash 中建立無限迴圈。

本頁內容

我們將無限迴圈用於各種目的。在本文中,我們將學習如何在 Bash 中使用 whilefor 建立無限迴圈。

此外,我們將看到一些帶有適當解釋的示例,以使它們更易於理解。

在 Bash 中使用帶有單行命令的 while 建立無限迴圈

設計無限迴圈的最基本方法是為 while 迴圈提供一個真實的條件,並且不要在程式碼塊內使條件為假。無限 while 迴圈的一般格式是:

while true; do YOUR BLOCK OF CODES; done

下面是一行程式碼,它是一個無限迴圈。這是我們示例的程式碼:

while true; do echo "Hello World"; sleep 2; done

在這裡,你可以注意到該行的 sleep 2 部分。這部分行的目的是等待 2 秒,以便控制檯不會在 2 秒內變滿。

執行程式碼後,你將獲得如下輸出:

Hello World
Hello World
Hello World
Hello World
Hello World
Hello World
Hello World

在 Bash 中使用帶有多行命令的 while 建立無限迴圈

這個例子只是將程式碼結構從單行重組為多行。下面是示例程式碼:

while true
do
   echo "Hello World"
   sleep 2
done

上面的程式碼將顯示與我們之前的示例相同的結果。我們在這裡使用 sleep 2 行來達到同樣的目的。

執行程式碼後,你將得到相同的輸出,如下所示:

Hello World
Hello World
Hello World
Hello World
Hello World
Hello World
Hello World

在 Bash 中使用 for 建立一個無限迴圈

這種建立無限迴圈的替代方法使用 for 迴圈。我們需要做的就是從程式碼中刪除條件部分。

for 迴圈的一般語法是:

for(( INITIALIZE; CONDITION; INCREMENT )); do YOUR BLOCK OF CODES done

讓我們看看我們示例的程式碼:

for(( i=0; ;++i ));
do
   echo "Hello World"
   sleep 2
done

這也將為你提供與我們之前的示例相同的輸出。你可以注意到我們剛剛從 for 迴圈中刪除了條件部分,並且我們使用 sleep 2 行來實現與上述示例相同的目的。

執行程式碼後,你將獲得與以下相同的輸出:

Hello World
Hello World
Hello World
Hello World
Hello World
Hello World
Hello World

請注意,本文中使用的所有程式碼都是用 Bash 編寫的。它僅適用於 Linux Shell 環境。