繰り返し制御文は,条件を満たさなくなるか,特定の回数分繰り返すまでループし続けるときに用いる。しかし,途中でエラーが発生したなど,ループを中止したい場合があるだろう。こうしたときに利用するのがbreakである。
たとえば,次のようなシェル・スクリプト「chmod_write.sh」があったとする。
#!/bin/sh
for t_file in "$@"
do
if [ ! -f $t_file ]
then
echo "Not such file : $t_file"
break
fi
chmod u+w $t_file
echo "Changed mode : $t_file"
done
|
このスクリプトは引数に与えたファイルのパーミッションに書き込み権限を設定する。ただし,指定したファイルが通常ファイルでなかったり,存在しなかった場合は,エラー・メッセージを表示し,breakでループから抜け出す。結果的にスクリプトはエラーが表示された時点で終了する。
$ ./chmod_write.sh file1 file2 dirctory3 file4
Changed mode : file1
Changed mode : file2
Not such file : directory3 ← ディレクトリであったため,処理を中断した
|