1

次のように、bashを介して実行しているスクリプトの出力全体(戻り値だけでなく)を確認したいと思います。

#!/bin/sh    
cmd="$(script.py $arg)"

script.pyは実行中に複数行を出力しますが、bashでそれらを見ることができません。出力をstdoutにパイプする方法はありますか?

4

2 に答える 2

1

おそらくそれはstderrに出力されています。これを試して:

#!/bin/sh    
cmd="$(script.py $arg 2>&1)"
于 2012-10-05T05:10:54.673 に答える
1

これにより、スクリプトの実行中にスクリプトによって「生成された」各行が表示されます。

while read line; do echo $line; done < <(script.py $arg 2>&1)

また、上記の投稿で提案されているように、stderrをstdoutにリダイレクトします

于 2012-10-05T05:16:54.453 に答える