ある条件が満たされている間ループを実行します。一般書式は次の通りです。
while condまず最初に condコマンドが実行されその終了状態がテストされます。 もし終了状態がゼロ(真)ならば doと doneで囲まれたコマンド群を実行します。 そして、もう一度 condが実行されて終了状態が検査されます。 もしゼロ(真)ならば再び do〜 doneのコマンド群が実行され、 非ゼロ(偽)ならば doneの次のステップ に進みます。 for.shと同じ働きを while文で実現した例を示します。 ループ条件の判断にはtestコマンドを使って引数の数を検査しています。
do
commands
done
echo "Number of arguments:$#
"
while test$#
-gt 0
do
echo $1
shift
done