6

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

并且 upgrade.sh 调用了一个名为 roll.sh 的脚本

roll.sh >> logfile.text

但是 roll.sh 有一些问题和提示,并且重定向会阻止这些输出显示在屏幕上。我无法编辑 roll.sh。

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

即使那样,输出也没有出现在屏幕上

4

3 回答 3

14

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

roll.sh | tee -a logfile.text
于 2013-02-15T18:49:49.797 回答
1

你想要tee

TEE(1)                           User Commands                          TEE(1)



NAME
       tee - read from standard input and write to standard output and files
于 2013-02-15T18:50:21.963 回答
1

处理该问题的常用方法是让脚本将其提示写入 stderr 而不是 stdout。

于 2013-02-15T18:54:03.503 回答