如何记录shell脚本的输出并显示在屏幕上?

时间:2013-02-15 18:48:08

标签: linux shell unix logging

我正在运行一个名为upgrade.sh

的脚本

ANd upgrade.sh调用名为roll.sh的脚本

roll.sh >> logfile.text

但roll.sh有一些问题和提示,重定向阻止这些输出击中屏幕。我无法编辑roll.sh.

我也试过`results = $(roll.sh)

即使这样,输出也没有进入屏幕

3 个答案:

答案 0 :(得分:13)

使用tee,它是专门为此目的而创建的:将标准输入转发到屏幕和一个或多个文件。如果您不想覆盖它,请务必使用-a选项附加到logfile.text

roll.sh | tee -a logfile.text

答案 1 :(得分:1)

您想要tee

TEE(1)                           User Commands                          TEE(1)



NAME
       tee - read from standard input and write to standard output and files

答案 2 :(得分:1)

处理这种情况的常用方法是让脚本将其提示写入stderr而不是stdout。