linux基礎(十九)----linux程式設計基礎----linux迴圈控制語句----break中斷和continue繼續
阿新 • • 發佈:2019-02-06
break和continue的使用是緊密和while迴圈聯絡在一起的。
使用break快速退出
你曾碰到過想騎車跑一英里卻在半路停下來的事情嗎?事實上,這樣的事情也同樣會發生在程式執行while迴圈的過程中。腳踏車有一個安全剎車來迫使它停下來,而在while迴圈中這個安全剎車就是保留字break。while迴圈一直迴圈到它的條件變為假才停止。如果想在迴圈的條件未改變之前就退出迴圈,那該怎麼辦呢?不妨用break語句。
請看下面使用break語句的例子:
這個程式請求使用者輸入一個使用者名稱或輸人stop來退出迴圈。只要使用者輸人的不是stop ,程式就顯示一條問候語。使用者輸入了stop後,case語句就叫程式中斷(break ),它立即退出迴圈,並繼續執行保留字done後的指令。在這個例子中,程式最後顯示Good-bye!let n=1 while ["$n" -eq 1] do echo "Enter your name or type stop to end:" read name case $name in "stop") break ;; esac done echo "Good-bye!"
使用continue語句重新迴圈
使用到達迴圈的開始有時,程式並不必執行放入迴圈體中的所有指令。如果使用continue語句,程式將跳過迴圈體中antinue後面的其餘指令。請看下面使用continue語句的例子:
計算機首先請求使用者輸人使用者名稱和數字。declare n =1 while [$n -eq 1] do echo "Enter your name yr type stop to end:” read name echo "Enter your employee number;" read num case $name in "stop") if ["$num" -eq 1 ] then continue else break fi ;; *) echo "Hello,$name" esac done echo "Good-bye!"
在使用者輸入了他的名字後,程式顯示對他的問候語。
若使用者輸入的是stop和非1的數字,它用保留字break退出迴圈,並跳到程式的最後一條指令(即done之後的一條指令),顯示Good-bye!
continue語句使程式跳過迴圈體中它後面其餘的語句,並直接跳到迴圈的開始(頂部),而不顯示問候資訊。在到達迴圈的開始(頂部)之後,它重新核對條件,並決定是否再次執行迴圈體中的指令。