从嵌入式python代码退出shell脚本

时间:2019-06-06 13:35:34

标签: python bash shell variables

我想从嵌入式python代码中退出shell脚本。下面的os.system()无法正常工作,其余的Shell脚本代码仍在执行。

echo "this is shell code"
a=10
python << END
import os
print "this is python code"

if True:
        print "yes"
        print $a
        os.system("exit 1")
END
echo "I am out of python code"

1 个答案:

答案 0 :(得分:0)

您必须根据Python脚本的结果显式退出外壳程序。

echo "this is shell code"
a=10
python "$a" <<END || exit
print "this is python code"
if True:
    print "yes"
    print(sys.argv[1])
    sys.exit(1)
END
echo "I am out of python code"

在此示例中,在Python代码无条件退出且状态为1的情况下,将不会到达最终的echo,因为非零退出状态将导致shell命令exit运行。 / p>