while(until)文

 「条件」の評価結果が真であればdoとdoneの間の「処理」を行い、また条件の評価が真であれば「処理」を行う。
これを繰り返し、条件評価が偽となればwhile文を抜けます。
 until文はwhileと真偽が逆になります。

while 条件 do;
	条件が真だった場合にやりたい処理
	      ・
	      ・
done
終了ステータス

 最後のループで実行されたdoとdoneの間のコマンドの終了ステータスがwhile文の終了ステータスとなります。
しかし、ループが1度も実行されなかった場合は終了ステータスが0となります。

決まった回数ループする方法

下記の例では、変数「i」に「1」を代入しループするごとにインクリメントし、変数「i」が10より大きくなったらwhile文を抜ける。(いわゆる10回ループする。)
bashでは「i=`expr $i + 1`」 と記載する代わりに「((i++))」と記載しても動作します。

i=1
while [ $i -le 10 ]; do
	echo $i
	i=`expr $i + 1`
done
引数の分だけループする方法

 下記の例は、特殊パラメータ「$#」を使って引数の数が「0」になるまでループする。という構文です。
引数が0になるまで。というのはループするたびに「shift」コマンドで引数「$1」を都度削除?して変数をシフトする為変数がなくなるまで実行する事になります。

while [ $# -gt 0 ]; do
	cp -p $1 /backup/
	shift
done
無限ループさせる方法

 whileの後の「条件」として「:」を設定している為(「:」は常に真を返す為)下記の例では無限に「Hello」を表示する構文となります。
終了させるには割り込みキー(Ctrl + c)で終了させることができます。
また、「while :」の代わりに「while true」を記載しても無限ループします。
とはいえ、外部コマンドとして「true」が定義されている可能性もあるので「 while :」と記載する方が無難でしょう。

while : ; do
	echo "Hello"
done
処理する事が無い場合は「:」を記載

 do と done の間には必ず何かしら処理を書く必要があります。もし何も処理を行いたくない場合は処理内容として「:」を記述するようにしましょう。

while read line; do
	:
done
continue

「continue」を記載するとその回のループを終了し、次の回のループへ移行します。

break

 breakを実行するとその時点でfor文を抜けます。