天天看點

自學Linux Shell12.5-while、until指令

12.5-while、until指令

until 循環與 while 循環在處理方式上剛好相反。

  • while循環用于不斷執行一系列指令,也用于從輸入檔案中讀取資料(條件成立則循環,不成立則停止循環)
  • until 循環執行一系列指令直至條件為 true 時停止。(條件成立則停止循環 ,不成立則循環)

 1.while指令

1 while condition
2 do
3     command
4 done      
  • condition的退出狀态碼必須随着循環中運作的指令而改變。
  • 如果退出狀态碼不發生改變,while循環将一直不停地進行下去。

 舉例1:

自學Linux Shell12.5-while、until指令

以上程式指定了循環的次數50,初始化計數器值為0,不斷測試循環條件i是否小于等于100。在循環條件中設定了計數器加2來計算1~100内所有的偶數之和。

舉例2:

設定一個特殊的資料值(結束标記)來結束while循環。

自學Linux Shell12.5-while、until指令

以上程式指定輸入一個1~10以内的數字,當不是5的時候提示太大或太小,當是5的時候,輸出數字5并退出程式。

 舉例3:

自學Linux Shell12.5-while、until指令

 舉例4:

隻有最後一個測試指令的退出狀态碼會被用來決定什麼時候結束循環;

自學Linux Shell12.5-while、until指令

2.until指令

 一般 while 循環優于 until 循環,但在某些時候—也隻是極少數情況下,until 循環更加有用。

1 until condition
2 do
3     command
4 done