【问题标题】:How to catch error code from one shell script into another shell script如何将一个 shell 脚本中的错误代码捕获到另一个 shell 脚本中
【发布时间】:2019-03-21 07:52:22
【问题描述】:

事情是: 我有一个 python 文件
我正在使用名为 run.sh
content of run.sh

的 shell 脚本执行它
python test.py

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

master.sh

并且 run.sh 是从 master.sh 调用的。
Mater.sh 从内部调用多个 shell 脚本。 即

sh run.sh
sh test.sh

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

【问题讨论】:

    标签: python bash shell unix sh


    【解决方案1】:

    您可以为run.sh 做同样的事情,抓住return_code

    在master.sh中

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

    【讨论】:

    • @Atif 也考虑支持答案。
    【解决方案2】:

    只需这样调用脚本:sh run.sh ¦¦ exit 1

    【讨论】:

    • 这个功能是不是类似? sh run.sh if [ $? == 0 ] 然后 sh test.sh else exit 1 fi
    猜你喜欢
    • 2012-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多