bash スクリプトを強制的に異常終了させる方法

bash スクリプトを強制的に異常終了させる方法

私は DSM を実行している Synology NAS を持っています。特定のファイルが特定のフォルダー内に存在するかどうかを確認する bash スクリプトを作成しました。スクリプトはスケジュールに従って実行され、結果を電子メールで返します。

問題は、スクリプトが正常に実行されたというだけのメールが多すぎることです。

DSM タスク スケジューラでは、スクリプトが異常終了した場合にのみ電子メールの送信が許可されます。

私の質問は次のとおりです:スクリプトを強制的に異常終了させるにはどうすればよいですか?

探しているファイルが存在しない場合にメールを受け取るためにそうします。

答え1

exit 1スクリプトを終了するには、を使用できます。

終了コードは0すべてが正常に完了したことを意味し、その他はすべて何らかのエラーを示します。

答え2

ファイルが見つからない場合は、終了コードを使用できます。

#!/bin/bash
file="/foo/bar"
if [ -e "$file" ]
then
exit 0
else
exit 1
fi

[ -e ]は存在するかどうかをチェックする演算子です。if -else-fiと同等ですが、それに適してい ます"$file"test -e $file
男性テストさらに演算子が必要な場合。

編集:
さらに詳しく説明すると、その他の終了コードスクリプトが「爆発」したり、何らかの理由で実行されなかったりした場合に別の電子メール警告を受け取る場合は、これを便利に使用できます。

関連情報