Whileは処理回数が開始時点では不明確なループ処理には while 文を使用する。
while [ 条件式 ]
do
条件成立時の処理…
done
※if 文と同じように [] を使用して条件式を指定する。
#!/bin/bash
read key
while [ "$key" = "o" ]
do
echo "ok"
read key
done
※キーボード押したキーを読み、「o:オー]入力する場合のみ、「ok」とプリントアウト。
#!/bin/bash
while read line
do
echo "$line"
done <test.txt
# while文にリダイレクションするには done の直後に指定する
※test.txtを1行ごとに読込してプリントアウトする。
#!/bin/bash while : do read key if [ "$key" = "q" ]; then echo "breakコマンドを実行します..." break else echo "$keyが入力されました。" fi done echo "無限ループを抜けました。" exit 0※キーボード入力で、「q」以外入力されたら、”xが入力されました。”とプリントアウト。q」入力されたら、無現ループ中断する。
#!/bin/bash
while :
do
while :
do
read key
if [ "$key" = "q" ]; then
break 2
fi
done
done
※2重ループで、q入力された場合、外のループも中断する。