这个命令做什么用的?
exec bash -l
我发现这个命令是一个提醒文本文件的一部分,我写了一些关于如何创建一个ssh密钥并克隆一个git repo的说明,但是我很久以前就写过它,我不记得它做了什么.
解决方法
exec执行指定的命令,替换当前进程而不是启动新的子进程.
如果你输入
bash -l
在shell提示符下,它将调用一个新的shell进程(-l使它成为登录shell).如果退出该shell进程,您将返回到原始shell进程.
打字
exec bash -l
表示新的shell进程替换了当前的shell进程.它的资源密集程度可能略低.
这样做的原因可能是新shell设置了它的环境(通过读取.bashrc,.bash_profile等).
有关更多信息,请参阅bash文档:
> Bash Startup Files,了解登录shell与非登录shell的区别
> Bourne Shell Builtins有关exec命令的文档.
(您应该可以通过输入info bash来阅读您自己系统上的手册.)