Jeśli uruchomię echo a; echo b
w bashu, wynikiem będzie wykonanie obu poleceń. Jednak jeśli używam podprocesu, uruchamiane jest pierwsze polecenie, drukując całą resztę linii. Kod poniżej echa a; echo b
zamiast a b
, jak mogę go uruchomić, aby uruchomić oba polecenia?uruchamianie wielu poleceń bash z podprocesiem
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")
powiązanymi: Tu jest [jak uruchomić wiele poleceń powłoki (i ewentualnie uchwycić ich wyjście) równoczesnie] (http://stackoverflow.com/a/23616229/4279) – jfs