Linux中的ls和“exec ls”有什么区别

时间:2013-09-12 08:26:30

标签: linux shell

当我尝试执行exec ls时,我的putty会话正在关闭。 lsexec ls之间有什么区别?

为什么我们需要exec命令,以及该命令的用途是什么?

2 个答案:

答案 0 :(得分:3)

exec用新进程替换当前进程(shell)。如果你调用没有exec的程序,shell将分叉一个新进程,然后用程序替换新进程。

答案 1 :(得分:2)

exec是一个shell内置命令。 在联机帮助页中,它说

  

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

因此,当您在shell中执行exec ls时,您的shell将被ls进程替换;当这个过程结束时,shell退出。与source.相比,这在shell脚本中很有用。