我有一个python脚本,可从参数获取输入。我可以把它作为bash脚本的if语句的条件吗?如果python脚本以错误结束(退出1),则必须触发另一个python脚本,如果python脚本以0结尾,则无需采取任何措施。我想通过bash脚本中的if条件来做到这一点。我在输入错误代码。
#!/bin/bash
if [ "python pythonscript.py argument" == 1 ]; then
python pythonscript2.py argument
fi
exit 0
相同的参数传递给两个python脚本。 参数是类似something_Dept-envi的字符串。当我同时在没有语法错误的情况下执行任何操作时,我什么也没得到
#!/bin/bash
if [ "python pythonscript.py argument" == 1 ]; then
python pythonscript2.py argument
fi
exit 0
如果python脚本以错误结束(退出代码1),我希望使用参数执行另一个python代码,否则退出o
答案 0 :(得分:1)
停止将[
视为运算符。这只是命令。但是在这种情况下,您不想使用它。您只想调用python脚本:
if python pythonscript.py argument; then
echo executed when python return 0
else
echo executed when python returns non-zero
fi
对于您的特定情况,您只需要:
if ! python pythonscript.py argument; then
python pythonscript2.py argument
fi
这仅区分具有零或非零的退出,并且不检查特定的非零值。如果要在脚本以2退出时与在脚本1退出时做不同的操作,可以检查$?
的值,但是最好不要这样做。