メールを送信する他のチェーンの1つのスクリプトであるスクリプトがあります。
スクリプトの開始時に、ファイルが存在するかどうかを確認し、存在する場合のみ続行します。存在しない場合は単に終了します。
これが私のスクリプトの始まりです。
if [ ! -f /scripts/alert ];
then
echo "File not found!" && exit 0
else
continue
fi
ただし、次のようなメッセージが引き続き表示されます。
line 10: continue: only meaningful in a `for', `while', or `until' loop
ポインタはありますか?
これに変更してください:
{
if [ ! -f /scripts/alert ]; then
echo "File not found!"
exit 0
fi
}
条件はループではなく、ジャンプする必要のある場所はありません。いずれにせよ、実行は条件付きの後に続くだけです。
(不必要な&&
も削除しました。それが起こるべきではありませんが、echo
が失敗した場合に備えて、終了しない理由はありません。)
問題は、通常continue
またはfor
ループの次の反復にスキップするために使用されるwhile
行にあります。
したがって、スクリプトのelse
部分を削除するだけで、スクリプトを機能させることができます。
はい。落とす else continue
。それは完全に不要です。