シェルスクリプトでの while文
#13 while文でループ処理をしてみよう
http://dotinstall.com/lessons/basic_shellscript/10613
を参考にシェルスクリプトでの while文について学習
構文は
while [ 条件式 ]
do
行う処理
done
となる
条件式のところの [ ] は
以前やった if の条件式と同じで
[ は test コマンドの代わりにしているので
前後に空白を開けること
i=0;
while [ $i -lt 10 ]
do
i=`expr $i + 1`
echo $i
done
とすると
1から10まで表示される
$i -lt 10
は
$i < 10 という意味
-ltはより小さいと言う意味で < と同じ
あと、注意点として
i=`expr $i + 1`
の` はバッククオートなので
shift + @ で打つ
shift + 7 の ' ではないので注意
expr は数値計算するときに使うコマンド
あと、シェルスクリプトで
無限ループを作成したいのなら
while :
とする
: はNULLコマンドなので
いつでも正常終了、つまり0になる
while ループの条件がずっと
0になるので無限ループになる
これを抜けるには
一時的に抜けたいのなら
continue
完全にループを抜けるのなら
break
となる
これらは while : の無限ループの中で
特定条件を if で指定し
条件を満たしたときに処理したり
ループを抜けるように使われる