Bash Continue 如何恢復迴圈
Bash 是一種流行的命令列介面 shell,廣泛用於 Linux 和 Unix 作業系統。Bash 最有用的功能之一是其執行迴圈的能力,它允許您自動化重複性任務。但是,有時您可能希望中斷迴圈並在稍後繼續執行。這就是 Bash continue 語句派上用場的地方。在本文中,我們將探討如何使用 Bash continue 語句恢復迴圈。
什麼是 Bash 迴圈?
在我們深入探討 Bash continue 語句的細節之前,瞭解什麼是 Bash 迴圈非常重要。迴圈是一種程式設計結構,允許您重複執行一段程式碼。在 Bash 中,有兩種型別的迴圈:for 迴圈和 while 迴圈。for 迴圈用於迭代一組值,而 while 迴圈用於重複執行一段程式碼,直到某個條件為真。
Bash Continue 語句
Bash continue 語句用於跳過迴圈的當前迭代並繼續執行下一迭代。如果您想跳過某些值或需要中斷迴圈並在稍後恢復,這將非常有用。continue 語句的語法如下:
continue
當 Bash 遇到 continue 語句時,它會立即停止執行迴圈的當前迭代並繼續執行下一迭代。
將 Bash Continue 與 for 迴圈一起使用
讓我們看看如何將 Bash continue 語句與 for 迴圈一起使用。在這個例子中,我們將迭代一組值並跳過任何可以被 2 整除的值:
示例
for i in {1..10}
do
if (( i % 2 == 0 )); then
continue
fi
echo $i
done
在這個例子中,我們使用 {1..10} 範圍運算子來迭代值 1 到 10。在迴圈內部,我們使用模運算子來檢查當前值是否可以被 2 整除。如果是,我們使用 continue 語句跳過當前迭代並繼續執行下一個。如果不是,我們使用 echo 命令列印當前值。
輸出
此指令碼的輸出將是:
1 3 5 7 9
如您所見,值 2、4、6、8 和 10 被跳過了,因為它們可以被 2 整除。
將 Bash Continue 與 while 迴圈一起使用
現在讓我們看看如何將 Bash continue 語句與 while 迴圈一起使用。在這個例子中,我們將使用 while 迴圈迭代值 1 到 10 並跳過任何大於 5 的值:
示例
i=1
while (( i <= 10 ))
do
if (( i > 5 )); then
(( i++ ))
continue
fi
echo $i
(( i++ ))
done
在這個例子中,我們將變數 i 初始化為 1 並使用 while 迴圈迭代值 1 到 10。在迴圈內部,我們檢查當前值是否大於 5。如果是,我們使用 continue 語句跳過當前迭代並繼續執行下一個。我們還使用 (( i++ )) 命令遞增 i 的值。如果當前值不大於 5,我們使用 echo 命令列印當前值。
輸出
此指令碼的輸出將是:
1 2 3 4 5
如您所見,值 6、7、
中斷後繼續迴圈
現在我們已經瞭解瞭如何使用 Bash continue 語句跳過迴圈的迭代,讓我們看看如何在中斷迴圈後恢復迴圈。有幾種方法可以做到這一點,具體取決於情況。
使用迴圈控制變數
中斷迴圈後恢復迴圈的一種方法是使用迴圈控制變數。迴圈控制變數是一個變數,用於跟蹤迴圈的當前狀態。
示例
i=1
while (( i <= 10 ))
do
if (( i == 5 )); then
break
fi
echo $i
(( i++ ))
done
echo "Loop interrupted at i = $i"
while (( i <= 10 ))
do
echo $i
(( i++ ))
done
在這個例子中,我們將變數 i 初始化為 1 並使用 while 迴圈迭代值 1 到 10。在迴圈內部,我們檢查 i 的當前值是否等於 5。如果是,我們使用 break 語句中斷迴圈。然後,我們列印一條訊息,指示迴圈在 i = 5 時被中斷。
迴圈中斷後,我們使用另一個 while 迴圈恢復從中斷處開始的迭代。我們只需從 i 的當前值開始迴圈,並繼續迭代直到迴圈結束。
輸出
此指令碼的輸出將是:
1 2 3 4 Loop interrupted at i = 5 5 6 7 8 9 10
使用函式 中斷迴圈後恢復迴圈的另一種方法是使用函式。函式是可以重複呼叫的程式碼塊。H
示例
function myloop() {
for i in {1..10}
do
if (( i == 5 )); then
return $i
fi
echo $i
done
}
i=$(myloop)
echo "Loop interrupted at i = $i"
for (( j=$i; j<=10; j++ ))
do
echo $j
done
在這個例子中,我們定義了一個名為 myloop 的函式,其中包含一個 for 迴圈。在迴圈內部,我們檢查 i 的當前值是否等於 5。如果是,我們使用 return 語句中斷迴圈並返回 i 的值。
迴圈中斷後,我們呼叫 myloop 函式並將返回值儲存在變數 i 中。然後,我們列印一條訊息,指示迴圈在 i = 5 時被中斷。
最後,我們使用 for 迴圈恢復從中斷處開始的迭代。我們將變數 j 初始化為 i 的值,並繼續迭代直到迴圈結束。
輸出
此指令碼的輸出將是:
1 2 3 4 Loop interrupted at i = 5 5 6 7 8 9 10
結論
Bash continue 語句是一個強大的工具,允許您跳過迴圈的迭代並在中斷處恢復迴圈。透過將 continue 語句與迴圈控制變數或函式結合使用,您可以以多種不同的方式中斷和恢復迴圈。無論您是在自動化重複性任務還是處理大量資料,Bash continue 語句對於任何 Bash 程式設計師來說都是一個必不可少的工具。
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP