我有一个代码模块,我将使用" $?"来检查错误。在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脚本中处理这种情况有什么变化吗?
提前致谢!
答案 0 :(得分:0)
在所有情况下,您都可以从脚本中返回正确的退出代码。如果您的脚本失败但由于回显声明而退出0
(成功),则该脚本是错误的,应该修复。
使用exit 1
(或任何值1-255)退出失败,或exit 0
退出成功。