Shellスクリプトwhile、untilループ文のチュートリアル

1503 ワード

一、whileサイクル
whileループは、一連のコマンドを継続的に実行するために使用され、入力ファイルからデータを読み出すためにも使用されます.コマンドは通常、テスト条件です.フォーマットは次のとおりです.
 
  
while
do
    command1
    command2
    ...
    commandN
done

コマンドの実行が完了したら、テスト条件が偽になるまでループの上部に戻ります.
以下は基本的なwhileサイクルで、テスト条件は:COUNTERが5未満の場合、条件は真を返します.COUNTERは0から、サイクル処理ごとにCOUNTERに1を加算します.上記のスクリプトを実行し、数値1~5を返して終了します.
 
  
COUNTER=0
while [ $COUNTER -lt 5 ]
do
    COUNTER='expr $COUNTER+1'
    echo $COUNTER
done

スクリプトの実行、出力:1 2 3 4 5
whileループは、キーボード情報を読み取るために使用できます.次の例では、入力情報は変数FILMに設定され、を押してループを終了する.
 
  
echo 'type to terminate'
echo -n 'enter your most liked film: ''
while read FILM
do
    echo "Yeah! great film the $FILM"
done

スクリプトを実行し、次のように出力します:type to terminate enter your most liked film:Sound of Music Yeah!great film the Sound of Music
二、untilサイクル
untilループは、条件が真の場合に停止するまで一連のコマンドを実行します.untilサイクルはwhileサイクルと処理方式が正反対である.一般的にwhileサイクルはuntilサイクルより優れているが、場合によっては--ごく少数の場合、untilサイクルがより有用である.
untilループフォーマットは次のとおりです.

   until   
  
    command1
    command2
    ...
    commandN
done

条件は任意の試験条件であり、試験はサイクルの最後に発生するので、サイクルは少なくとも1回実行されます.この点に注意してください.