在 shell 中,如果我只想在第一个命令成功时执行第二个命令,我会这样做
cmd1 && cmd2
如果我需要在第一个命令失败时执行第二个命令,我会这样做
cmd1 || cmd2
我在 python 脚本中通过 subprocess.call 调用命令列表。我怎样才能做到以上几点?
最佳答案
将shell=True
传递给subprocess.call
,您就可以执行任意shell 命令。只要确保你escape/quote everything correctly .
subprocess.call("true && echo yes!", shell=True)
打印yes!
,而
subprocess.call("false && echo yes!", shell=True)
什么都不打印。
(您不需要转义或引用 &&
或 ||
,但文件名中包含空格可能会很麻烦。)
关于python - shell的&&和||在 python ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12422562/