這個命令做了什麼?這個命令是做什麼的? 「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