私はPythonプログラム内でlinux bash
コマンドの次の行を実行したいと思います。複数行でいくつかのコマンドがあるかどうか、私はsubprocess.call
を使用することができ、pythonの中で複数行のbashコマンドを実行するには?
subprocess.call(['my','command'])
しかし:
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
私は、1行のコマンドのために、我々は次の構文を使用することができます知っていますか!?
私は、これは適切な解決策であることを知りませんが、bashで、あなたが半で複数行を置き換えることができますコロンたとえば、 'tail/var/log/omxlog | stdbuf -o0 grep plater_new |読んでいる間はi; do Values = $(omxd S | awk -F/'{print $ NF}'); x1 = "$ {値}"; ... ...と続きます。確かにあまり読みにくくはありませんが、うまくいくはずです。あなたが代わりに実行するbashスクリプトを持つことができなかった理由はありますか? – Guest
代わりにスクリプトに入れられないのはなぜですか? – Inian
この記事には、subprocess.pipeの使用に関するいくつかの良いことがあります。http://stackoverflow.com/a/13332300/1113788別のオプションは、ローカルとリモートのコードを実行するためのさまざまなオプションを持つpythonファブリックライブラリを見ることです。 – davidejones