这个命令做了什么?这个命令是做什么的? “exec bash -l”
exec bash -l
我发现了这个命令,提醒文本文件的一部分是我写了一封关于如何创建一个SSH密钥和克隆混帐回购协议的一些指令,但我很久以前写的,我不记得它能做什么。
这个命令做了什么?这个命令是做什么的? “exec bash -l”
exec bash -l
我发现了这个命令,提醒文本文件的一部分是我写了一封关于如何创建一个SSH密钥和克隆混帐回购协议的一些指令,但我很久以前写的,我不记得它能做什么。
exec
执行指定的命令,取代当前进程而不是开始新的子进程。
如果你在shell提示下键入
bash -l
,它会调用一个新的shell进程(-l
使其成为一个登录shell)。如果您退出该shell进程,您将回到原来的shell进程。
打字
exec bash -l
意味着新的外壳工艺取代当前的shell进程。这可能会稍微减少资源密集度。
这样做的原因可能是新壳设置其环境(通过阅读您的.bashrc
,.bash_profile
等)。
更多信息参见bash的文档:用于登录shell从非登录shell
exec
命令文档
(你应该能够通过输入info bash
读取你自己的系统上的说明书。)
这将使用新的bash shell作为登录shell来替换当前的shell。
它不只是执行它;没有'exec'的'bash -l'就是这样做的。看到我的答案。 – 2014-11-05 00:58:41
谢谢!很好的答案 – matiascelasco 2014-11-05 00:57:55