1

当我尝试执行时exec ls,我的腻子会话即将关闭。ls和 和有什么不一样exec ls

为什么我们需要这个exec命令,这个命令的用途是什么?

4

2 回答 2

3

exec用新进程替换当前进程(shell)。如果调用不带 的程序exec,shell 将派生一个新进程,然后用该程序替换新进程。

于 2013-09-12T08:28:47.170 回答
3

exec是一个shell内置命令。在手册页中它说

如果 exec 用 command 指定,它将用 command 替换 shell,而不创建新进程。

所以当你exec ls在shell中执行时,你的shell会被进程替换ls;当这个过程结束时,shell 退出。与sourceor相比.,这在 shell 脚本中可能很有用。

于 2013-09-12T08:35:06.067 回答