Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 如何将另一个脚本的输出编码为其他脚本中的in条件_Linux_Bash_Shell - Fatal编程技术网

Linux 如何将另一个脚本的输出编码为其他脚本中的in条件

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

我有一个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脚本。 参数是类似于\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中使用,但我认为这是一种反模式。哦,好的。谢谢你提供的信息。我会尝试一下。