在上一個教程中, shell腳本while循環讓我們在 Linux 中使用 break 和 continue 語句來操作循環流。眾所周知,當給定的條件使循環成為循環時,循環終止 不正確但是,如果您運行一個循環,需要根據某些條件停止或跳過循環的其餘部分呢?這裡使用了 shell 腳本 break 和 continue 語句。
Linux break 和 continue 語句有什麼作用? 中斷語句 滿意。另一方面,continue 語句, 繼續聲明 我遇見了。
Linux shell 腳本中的 break 語句
首先,我們將看看如何用揮之不去的迭代打破循環。 我創建了一個循環 50 次的 while 循環。但是,我添加了一個 if 語句,它在第 25 個循環之後執行一個 break 語句。
a=0 while [ $a -le 50 ] do echo Loop $a echo "Loop will break as soon as this is 25" if (($a==25)) then break fi ((a++)) done
您將在下一個教程中了解 if 語句,所以現在,專注於習慣於拆分語句。 請注意,循環在第 25 個循環之後停止。
如前所述,break 語句會立即中斷循環。 break 語句後不執行任何操作。讓我們在這裡做一個證明檢查。在上述腳本中的 if 條件之後添加一些 echo 語句。
a=0 while [ $a -le 50 ] do echo Loop $a echo "Loop will break as soon as this is 25" if (($a==25)) then echo "Breaking. Goodbye!" break fi echo "Still not broken" ((a++)) done
如您所見,當我們在第 25 次迭代中中斷循環時,“no break yet”輸出不會出現在屏幕上。這是因為中斷放在它之前。
如果存在嵌套循環,則 break 語句本身只會中斷執行它的循環。要跳出所有循環,請在 break 語句之後寫入要跳出的循環數。
break N
因此,如果您知道您的 break 語句嵌套在 3 級循環中 for >> while >> while >> break,而不是在 break 結束時執行 while 循環,只需說 break 3 即可跳出所有循環。
此功能類似於 Linux 的 break 和 continue 語句。
Linux shell 腳本中的 continue 語句
在 Linux 中使用 break 和 continue 語句是完全一樣的。區別在於運行時行為。如前所述, continue 語句重新啟動循環,忽略 continue 語句之後循環中的所有內容。
這會導致循環完成所需的迭代次數。在某些情況下,只需在 continue 語句之後跳過整個循環並重新開始循環。讓我們看看它的實際作用,以便更好地理解它。
a=0 while [ $a -le 50 ] do echo Loop $a echo "Loop will break as soon as this is 25" ((a++)) if (($a==25)) then echo "LET'S GO BACK TO THE START!" continue fi echo "Still executing" done
將增量語句移到 if 語句之前。原因是如果你把它放在前面的位置,循環永遠不會到達那部分代碼,所以變量不會增加超過 25。

如您所見,在第 24 次迭代中, if 語句 它被觸發是因為變量在循環之前遞增。
如果 continue 語句在嵌套循環中,只需將參數傳遞給語句,就像使用 break 語句一樣。
continue N
其中 N 是要彈出的循環數。因此,如果您有兩個循環,其中一個執行 continue 語句: 繼續 2,兩個循環都重新啟動。
結論是
這是一個關於 break 和 continue 語句如何在 Linux 中工作的簡短教程。如果您在理解變量方面需要幫助,請務必閱讀教程 多變的 什麼時候 shell腳本數組即將發布的 Shell Scripting 101 系列將涵蓋 if 條件和 for 循環。