0

您能解释一下脚本中以下行背后的机制吗?

exec > >(tee logfile.txt)

这基本上将 STDOUT 输出到控制台以及 logfile.txt 在脚本中时。我知道它的作用,但我无法准确解释它为什么会这样工作。我了解 >(command args) 是一个进程替换。我的主要困惑来自为什么有额外的“>”?为什么不执行>(tee logfile.txt)?

4

1 回答 1

2

请参阅exec( $ help exec) 的帮助。相关部分是

如果未指定 COMMAND,则任何重定向都会在当前 shell 中生效。

由于每个命令都从生成它的 shell 继承其标准输出,因此每个命令现在都将给定的进程替换作为其标准输出,而不是终端。

于 2013-01-28T00:20:25.907 回答