当我尝试执行exec ls
时,我的putty会话正在关闭。 ls
和exec ls
之间有什么区别?
为什么我们需要exec
命令,以及该命令的用途是什么?
答案 0 :(得分:3)
exec
用新进程替换当前进程(shell)。如果你调用没有exec
的程序,shell将分叉一个新进程,然后用程序替换新进程。
答案 1 :(得分:2)
exec
是一个shell内置命令。
在联机帮助页中,它说
如果用命令指定了exec,它将用命令替换shell而不创建新进程。
因此,当您在shell中执行exec ls
时,您的shell将被ls
进程替换;当这个过程结束时,shell退出。与source
或.
相比,这在shell脚本中很有用。