0%

exec

exec [-cl] [-a name] [command [arguments]]

exec 命令被执行时, 将替换当前 shell 进程, 且 exec 命令之后的命令将不再执行.
例外: 当 exec 命令对文件描述符操作的时候, 就不会替换 shell, 而是操作完成后还会继续执行后面的命令. 如 exec 3<&0, 表示将操作符3也指向标准输入

类似的:
source. 命令执行时, 将不启用新的 shell, 设定的局部变量在执行完成后仍然有效
bashsh 命令执行时, 将另起一个子 shell, 并继承父 shell 的环境变量, 子 shell 的变量不影响父 shell 中的.

-c 使得命令 command 在一个空环境中执行
-l 将在传递给 command 的第 0 个参数前面加上一个连字符 (dash,`-’)
-a 会将 name 作为第 0 个参数传递给要执行的命令