如果我在bash中运行echo a; echo b
,结果将是两个命令都运行。但是,如果我使用子进程,则会运行第一个命令,打印出整个行的其余部分。 下面的代码回声a; echo b
而不是a b
,我怎么得到它来运行这两个命令?在子进程中运行多个bash命令
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")
相关:这是[如何运行多个shell命令(以及可选的捕捉他们的输出)并发](http://stackoverflow.com/a/23616229/4279) – jfs