1. 程式人生 > >Shell腳本之while循環

Shell腳本之while循環

whlie循環

目錄:
一.while循環與until循環
二.循環控制語句continue break shift
三.特殊用法

一.while循環與until循環

  • 1.while循環
    while CONDITION; do
    循環體
    done
    CONDITION:循環控制條件;進入循環之前,先做一次判 斷;每一次循環之後會再次做判斷;條件為真,則執行 一次循環;直到條件測試狀態為假終止循環。
  • 2.until
    until CONDITION; do
    循環體 ?
    done
    until循環與while循環相反CONDITION:循環控制條件為假,則執行 一次循環;直到條件測試狀態為真終止循環。
    例子:顯示1-5的數字

                    #!/bin/bash
                          n=0
                        while [ $n -lt 5 ];do
                             let  n=$n+1
                            echo $n
                       done
  • until寫法
    #!/bin/bash
    n=0
    until [ $n -eq 5 ];do
    let n=$n+1
    echo $n
    done

    二.循環控制語句

    continue break shift
    * 1.continue[N] :提前結束第N層的本輪循環,而直接進入下一 輪判斷;最內層為第1層
    while CONDTIITON1; do
    CMD1 ...
    if CONDITION2; then
    continue
    fi
    CMDn
    ...
    done

  • 2.break [N]:提前結束第N層循環,最內層為第1層
    while CONDTIITON1; do
    CMD1 ...
    if CONDITION2; then

    break
    fi
    CMDn
    ...
    done

    我們對第一個例子做點修改 在其中加上continue和break
    #!/bin/bash
    n=0
    while [ $n -lt 5 ];do
    let n=$n+1
    if [ $n -eq 3 ];then
    continue
    fi
    echo $n
    done

  • 加入continue時輸出結果為1245

                 #!/bin/bash
            n=0
       while [ $n -lt 5 ];do
               let  n=$n+1
            if [ $n -eq 3 ];then
               break
            fi
        echo $n
       done
  • 加入break的輸出結果為12
    由此可以總結出兩者的區別為continue是結束當輪循環
    break是結束當層循環
    3.shift [n] 用於將參量列表 list 左移指定次數,缺省為左移一次。 參量列表 list 一旦被移動,最左端的那個參數就從列表中刪 除。

Shell腳本之while循環