Bash 手册的说法是,语法exec是
exec [-cl] [-a name] [command [arguments]]
Run Code Online (Sandbox Code Playgroud)
和
如果提供命令,它将替换 shell,而不创建新进程。
但,
如果未指定命令,则可以使用重定向来影响当前 shell 环境。
因此,exec如果命令行上没有任何其他内容,就没有要运行的命令,也没有要应用的重定向,因此无需执行任何操作。
但 egexec >> output.txt也没有实际参数exec,但它仍然将重定向应用于 shell。
这与 Zsh 和 POSIX 功能类似,尽管 POSIX 文本有点难以阅读。