Bash:在命令执行时从命令回显

时间:2012-10-05 05:05:41

标签: bash

我希望看到脚本在通过bash执行时的整个输出(不仅仅是返回值),如下所示:

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

script.py在执行时打印多行,但我无法看到它们 在bash中。有没有办法将输出传递给stdout?

2 个答案:

答案 0 :(得分:1)

也许正在向stderr输出。试试这个:

#!/bin/sh    
cmd="$(script.py $arg 2>&1)"

答案 1 :(得分:1)

这将显示脚本运行时“生成”的每一行:

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

如上文所述,它也会将stderr重定向到stdout