如何强制异常终止 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 $fileif-else-fi,但更适合 if-else-fi。
请参阅男人测试如果您需要更多操作员。

编辑:
为了进一步阐述,还有其他退出代码为方便起见,您可以使用它,假设当脚本“爆炸”或由于某种原因而无法执行时,您会收到不同的电子邮件警告。

相关内容