1. 程式人生 > >linux基礎(十九)----linux程式設計基礎----linux迴圈控制語句----break中斷和continue繼續

linux基礎(十九)----linux程式設計基礎----linux迴圈控制語句----break中斷和continue繼續

break和continue的使用是緊密和while迴圈聯絡在一起的。

使用break快速退出

你曾碰到過想騎車跑一英里卻在半路停下來的事情嗎?事實上,這樣的事情也同樣會發生在程式執行while迴圈的過程中。腳踏車有一個安全剎車來迫使它停下來,而在while迴圈中這個安全剎車就是保留字break。
while迴圈一直迴圈到它的條件變為假才停止。如果想在迴圈的條件未改變之前就退出迴圈,那該怎麼辦呢?不妨用break語句。

請看下面使用break語句的例子:

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!"
這個程式請求使用者輸入一個使用者名稱或輸人stop來退出迴圈。只要使用者輸人的不是stop ,程式就顯示一條問候語。使用者輸入了stop後,case語句就叫程式中斷(break ),它立即退出迴圈,並繼續執行保留字done後的指令。在這個例子中,程式最後顯示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語句使程式跳過迴圈體中它後面其餘的語句,並直接跳到迴圈的開始(頂部),而不顯示問候資訊。在到達迴圈的開始(頂部)之後,它重新核對條件,並決定是否再次執行迴圈體中的指令。