处理shell脚本中python返回的退出代码

Spi*_*idE 8 error-handling bash shell python-2.7

我在shell脚本中调用python脚本.如果失败,python脚本将返回错误代码.

如何在shell脚本中处理这些错误代码并在必要时退出?

ani*_*ane 15

最后一个命令的退出代码包含在$?.

使用以下伪代码:

python myPythonScript.py
ret=$?
if [ $ret -ne 0 ]; then
     #Handle failure
     #exit if required
fi
Run Code Online (Sandbox Code Playgroud)

  • 嗯...通过我的方法,您可以选择具有不同退出代码值的不同错误处理程序.例如,你可能想忽略一些琐碎的错误代码.然而,你的方法在技术上仍然符合他的要求. (5认同)
  • 这根本不适合我.即使我的python脚本以`sys.exit(1)`退出,Bash也将`$?`设为0 (3认同)
  • 不要这样做.只需使用`if python myPythonScript.py; 那么...... fi`或`python myPythonScript.py || ...` (2认同)