在 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)
什么都不打印。
(您不需要转义或引用 && 或 ||,但文件名中包含空格可能会很麻烦。)
