Linux 如何将另一个脚本的输出编码为其他脚本中的in条件
我有一个python脚本,它从参数中获取输入。我可以在bash脚本的if语句中将其作为一个条件吗?如果python脚本以错误退出1结束,则必须触发另一个python脚本,如果python脚本以0结束,则无需执行任何操作。我想通过bash脚本中的if条件来实现。我在代码中出错了Linux 如何将另一个脚本的输出编码为其他脚本中的in条件,linux,bash,shell,Linux,Bash,Shell,我有一个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
#!/bin/bash
if [ "python pythonscript.py argument" == 1 ]; then
python pythonscript2.py argument
fi
exit 0
将相同的参数传递给两个python脚本。
参数是类似于\u Dept-envi的字符串。当我执行上面的命令时,我什么也得不到,没有语法错误,同时什么也没有发生
#!/bin/bash
if [ "python pythonscript.py argument" == 1 ]; then
python pythonscript2.py argument
fi
exit 0
如果python脚本以错误退出代码1结束,我希望另一个python代码以参数else exit o执行。停止将[作为运算符。它只是一个命令。但在这种情况下,您不想使用它;您只想调用您的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退出时不同的操作,可以检查$?,但最好不要这样做。Hi-我想检查退出代码2 alone.我不担心退出代码1,如果python脚本以1结尾,我可以接受它,并且相信它会退出。但是我想检查退出代码2,如果0什么都不做就退出,我想触发另一个脚本。我担心看到你的语句“但你最好不要这样做”。这样做很难吗?任何信息都会显示出来elp.pythonscript.py参数;case$?可以在1…;2…;*…;esac中使用,但我认为这是一种反模式。哦,好的。谢谢你提供的信息。我会尝试一下。