Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
您能解释一下脚本中以下行背后的机制吗?
exec > >(tee logfile.txt)
这基本上将 STDOUT 输出到控制台以及 logfile.txt 在脚本中时。我知道它的作用,但我无法准确解释它为什么会这样工作。我了解 >(command args) 是一个进程替换。我的主要困惑来自为什么有额外的“>”?为什么不执行>(tee logfile.txt)?
请参阅exec( $ help exec) 的帮助。相关部分是
exec
$ help exec
如果未指定 COMMAND,则任何重定向都会在当前 shell 中生效。
由于每个命令都从生成它的 shell 继承其标准输出,因此每个命令现在都将给定的进程替换作为其标准输出,而不是终端。