如何将错误代码从一个Shell脚本捕获到另一个Shell脚本

时间:2018-10-16 17:47:57

标签: python bash shell unix sh

问题是: 我有一个python文件
我正在使用名为run.sh的shell脚本执行它
run.sh的内容

python test.py

,并且在python文件中,我正在测试某些东西,如果不匹配,我将使用sys.exit(1)退出。我可以使用run.sh$?中捕捉到这一点 但是问题是有一个主shell脚本

master.sh

run.shmaster.sh调用。
Mater.sh从内部调用多个shell脚本。 即

sh run.sh
sh test.sh

我想确保如果run.sh失败,即如果python文件以sys.exit(1)退出,那么它将被master.sh捕获,并且它不会运行下一个Shell脚本,即不应再运行test.sh

2 个答案:

答案 0 :(得分:1)

您可以执行与run.sh相同的操作,抓住return_code

在master.sh中

sh run.sh
if [ $? == 0 ]
then sh test.sh
else
exit 1
fi

答案 1 :(得分:0)

以这种方式简单地调用脚本:$.jgrid.defaults.styleUI = 'Bootstrap4'; $.jgrid.defaults.iconSet = "Iconic"; $.jgrid.defaults.iconSet = "fontAwesome";