我想在Python程序中運行以下幾行linux bash
命令。如何在python中運行多行bash命令?
tail /var/log/omxlog | stdbuf -o0 grep player_new | while read i
do
Values=$(omxd S | awk -F/ '{print $NF}')
x1="${Values}"
x7="${x1##*_}"
x8="${x7%.*}"
echo ${x8}
done
我知道,對於一個單行命令,我們可以使用下面的語法:
subprocess.call(['my','command'])
可是,我該如何使用subprocess.call
如果在多行幾個命令!?
我不知道這是一個妥善的解決辦法,但在bash,那麼你可以替換多行半-colons。例如,'tail/var/log/omxlog | stdbuf -o0 grep plater_new |同時閱讀我;做值= $(omxd S | awk -F /'{print $ NF}'); x1 =「$ {Values}」; ...'等等。它當然不是很可讀,但它應該工作。是否有任何理由,你不能有一個bash腳本來運行? – Guest
爲什麼你不能把它放在腳本中呢? – Inian
在這篇文章中有一些關於使用subprocess.pipe的好東西。http://stackoverflow.com/a/13332300/1113788另一種選擇可能是查看具有執行本地代碼和遠程代碼的各種選項的python結構庫 – davidejones