シェル・スクリプト・リファンレス
コマンド集(機能別) | コマンド集(アルファベット順) | コマンド逆引き大全 | シェル・スクリプト・リファンレス

 次の繰り返しに移る「continue」

 continueは繰り返し処理の途中で,それ以降の処理を行わず次の繰り返し処理に移りたい場合に利用する。たとえば,以下のようなシェル・スクリプト「chmod_write.sh」があったとする。


#!/bin/sh

for t_file in "$@"
do
	if [ ! -f $t_file ]
	then
		echo "Not such file : $t_file"
		continue
	fi
	chmod u+w $t_file
	echo "Changed mode : $t_file"
done

 このスクリプトは,引数として与えたファイルのパーミッションに書き込み権限を設定する。ただし,指定したファイルが通常ファイルでなかったり,存在しなかった場合は,エラー・メッセージを表示し,continueで次に繰り返し処理に移る。breakとは異なり,繰り返しの対象が残っていたり,条件を満たさない場合は,繰り返しを引き続ける。


$ ./chmod_write.sh file1 file2 dirctory3 file4 
Changed mode : file1
Changed mode : file2
Not such file : directory3      ← ディレクトリであったため,chmodは実行されない
Changed mode : file4            ←次の繰り返しが実行されている