【发布时间】:2019-04-08 04:37:52
【问题描述】:
我知道我可以save the output to a variable 并然后打印出来:
VAR=$(command)
echo "$VAR"
但这有很多缺点:
- 我不会看到命令的进度。
- 特别是,将在所有
stderr输出之后看到所有stdout输出,从而难以匹配它们。
- 特别是,将在所有
- 由于这将导致在命令工作期间没有输出,因此在某些环境(如 Travis CI)中,如果命令工作时间足够长,这将终止作业。
那么,如何保存输出并在控制台上实时查看?
- 便携式解决方案是首选,尽管只有 Linux/MacOS 的解决方案可以在紧要关头完成。
- 解决方案不应在
errexit模式下产生不良副作用
【问题讨论】: