处理shell脚本中的异常或错误

时间:2018-04-24 14:52:31

标签: shell unix error-handling exception-handling

我有一个代码模块,我将使用" $?"来检查错误。在shell脚本中。假设以下情形:

"sub_script.sh"
--error statements--
echo "abc"

"main_script.sh"
sh sub_script.sh
if [ $? == 0 ];then
 echo "no error"
else
 echo "error"
fi

现在,即使我在sub_script.sh中有错误陈述,如果我从main_script.sh触发脚本,我也无法处理它,因为我有echo语句运行成功并返回0值。

我刚刚在这里复制了这个,我有许多shell脚本运行蜂巢或火花或其他代码。

在shell脚本中处理这种情况有什么变化吗?

提前致谢!

1 个答案:

答案 0 :(得分:0)

在所有情况下,您都可以从脚本中返回正确的退出代码。如果您的脚本失败但由于回显声明而退出0(成功),则该脚本是错误的,应该修复。

使用exit 1(或任何值1-255)退出失败,或exit 0退出成功。