这个命令做什么用的? " exec bash -l"

时间:2014-11-05 00:06:27

标签: linux shell unix exec

这个命令有什么作用?

exec bash -l

我发现这个命令是提醒文本文件的一部分,我写了一些关于如何创建ssh密钥和克隆git repo的说明,但我很久以前就写过了,我无法记住它是什么确实

2 个答案:

答案 0 :(得分:14)

exec执行指定的命令,替换当前进程而不是启动新的子进程。

如果您输入

bash -l

在shell提示符下,它将调用一个新的shell进程(-l使其成为登录shell)。如果退出该shell进程,您将返回到原始shell进程。

输入

exec bash -l

表示新的shell进程替换当前的shell进程。它的资源密集程度可能略低。

这样做的原因可能是新shell设置了它的环境(通过阅读.bashrc.bash_profile等)。

有关更多信息,请参阅bash文档:

(您应该可以通过键入info bash来阅读自己系统上的手册。)

答案 1 :(得分:1)

这将使用作为登录shell运行的新bash shell替换当前shell。