如何強制 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 ]是一個檢查是否"$file"存在的運算子。它相當於test -e $file但適合 if-else-fi。
人測試如果您需要更多操作員。

編輯:
為了進一步詳細說明,還有其他退出代碼為了方便起見,您可以使用它,假設當腳本「爆炸」或由於某種原因未執行時您有不同的電子郵件警告。

相關內容