可能重复:
BASH 中的错误处理
我有一个部署脚本,我想在 ubuntu shell 脚本(即 bash 脚本)中进行异常处理。有什么解决方案吗?
可能重复:
BASH 中的错误处理
我有一个部署脚本,我想在 ubuntu shell 脚本(即 bash 脚本)中进行异常处理。有什么解决方案吗?
我不确定您所说的异常处理是什么意思,但是如果您正在寻找try
和catch
(或类似的东西),那么您就不走运了。有set -e
,但我不会说这甚至很接近。我能想到的最接近的是 ERR 信号陷阱(ERR 是假信号)
例如;
trap 'echo [$LINENO] Error: $?' ERR
在这种情况下,我们只显示行号和返回代码,但您可以将任何代码放在引号内,包括函数调用。失败的定义是一个非零的 $?。它不会针对条件或算术结构执行,也不会带入函数中。
陷阱可以通过以下方式“关闭”:
trap – ERR
另请参阅 DEBUG 假信号。