【问题标题】:Bash exec explanationBash 执行说明
【发布时间】:2023-06-02 10:47:01
【问题描述】:

bash 脚本中的这一行有什么作用?特别是执行重定向。

exec > >(tee -i file)

注意>

之间的空格

【问题讨论】:

  • 我不是 100% 清楚你没有完全理解 bash 语句的哪一部分。我假设您的意思是 exec 命令的操作,因为这就是您在标题中的内容。如果您不理解“重定向到进程替换”语法,请提出另一个更具体的问题。

标签: bash exec io-redirection


【解决方案1】:

它会更改当前 shell 的 stdout,使其同时输出到名为 file 的文件和之前的 stdout(可能是终端窗口)。

它不会修改stderr,因此不会记录所有输出。

一般来说,exec 带有一组重定向并且没有可执行文件将重定向应用到当前 shell。

【讨论】:

  • 只是好奇:那我是否需要写exec,或者我也可以只写一个,即1> >(tee -i file)
  • @user1934428:你需要exec 命令。