重定向脚本中的exec

时间:2013-01-27 23:35:52

标签: bash shell unix

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

exec > >(tee logfile.txt)

这基本上将STDOUT既输出到控制台又输出logfile.txt,当它在脚本中时。我知道它的作用,但我无法解释为什么它的工作原理。我理解>(命令args)是一个进程替换。我的主要困惑来自为什么有额外的“>”? 为什么不exec>(tee logfile.txt)?

1 个答案:

答案 0 :(得分:2)

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

  

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

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