如果我在bash中运行echo a; echo b
,结果是两个命令都被执行。但是如果我使用subprocess,则只会运行第一个命令,并打印出整个剩余部分的内容。
下面的代码输出a; echo b
而不是a b
,我该如何运行这两个命令?
import subprocess, shlex
def subprocess_cmd(command):
process = subprocess.Popen(shlex.split(command), stdout=subprocess.PIPE)
proc_stdout = process.communicate()[0].strip()
print proc_stdout
subprocess_cmd("echo a; echo b")