Redirect Asked: 2019-05-05 11:12:13 +0800 CST2019-05-05 11:12:13 +0800 CST 2019-05-05 11:12:13 +0800 CST 运行 exec 有什么作用吗? 772 exec在交互式 shell 中运行有什么作用吗?我的意思很简单exec,没有任何参数。 在脚本中呢? 如果它确实做某事,它会做什么? exec 2 个回答 Voted Best Answer Angel 2019-05-05T12:00:44+08:002019-05-05T12:00:44+08:00 如果未指定 command,则任何重定向都可以在当前 shell 中生效。这是手册页所说的简短版本。我理解,当exec执行空时它不会启动新的 shell,不会对当前进行更改,并返回代码 0,这意味着它执行时没有错误。 ctrl-alt-delor 2019-05-05T11:58:26+08:002019-05-05T11:58:26+08:00 是的: 当使用命令作为参数调用时。 通常,当您运行命令时,它会调用fork和exec(加上管道等)。但是当您exec在开头添加时(例如exec ls),它不会调用fork,因此 shell 会被命令替换。也就是说,该命令在与 shell 所在的进程相同的进程中运行(shell 不再存在)。 在没有命令的情况下调用。 它应用重定向,然后在之后生效。
如果未指定 command,则任何重定向都可以在当前 shell 中生效。这是手册页所说的简短版本。我理解,当
exec
执行空时它不会启动新的 shell,不会对当前进行更改,并返回代码 0,这意味着它执行时没有错误。是的:
当使用命令作为参数调用时。
通常,当您运行命令时,它会调用
fork
和exec
(加上管道等)。但是当您exec
在开头添加时(例如exec ls
),它不会调用fork
,因此 shell 会被命令替换。也就是说,该命令在与 shell 所在的进程相同的进程中运行(shell 不再存在)。在没有命令的情况下调用。
它应用重定向,然后在之后生效。