您能解释脚本中以下行背后的机制吗?
exec > >(tee logfile.txt)
这基本上将STDOUT既输出到控制台又输出logfile.txt,当它在脚本中时。我知道它的作用,但我无法解释为什么它的工作原理。我理解>(命令args)是一个进程替换。我的主要困惑来自为什么有额外的“>”? 为什么不exec>(tee logfile.txt)?
答案 0 :(得分:2)
请参阅exec
($ help exec
)的帮助。相关部分是
如果未指定COMMAND, 任何重定向都会在当前shell中生效。
由于每个命令都从生成它的shell继承其标准输出, 现在,每个命令都将给定的进程替换作为其标准输出 比终端。