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

roy*_*g86 5 unix linux shell logging

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

和upgrade.sh调用一个名为roll.sh的脚本

roll.sh >> logfile.text
Run Code Online (Sandbox Code Playgroud)

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

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

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

Cor*_*ein 13

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

roll.sh | tee -a logfile.text
Run Code Online (Sandbox Code Playgroud)

  • 我唯一要补充的是你应该做```roll.sh 2>&1 | tee -a logfile.txt```也捕获错误输出 (2认同)