.bashrc和.bash_profile之間的不一樣

區分二者之間的區別,首先要搞清楚login shellno-login shell之間的區別。html

login shell

當你經過終端輸入用戶名和密碼,而後進入到terminal,這時候進入的shell環境就叫作是login shell,例如,經過ssh遠程進入到主機。shell

no-login shell

顧名思義就是不須要輸入用戶名密碼而進入的shell環境,例如你已經登錄了你的桌面電腦,這時候在應用管理器中找到termianl圖標,而後雙擊打開終端,也就是經過像gnome,KDE這種桌面環境而進入的終端,這時候你進入的shell環境就是所謂的no-login shell環境。簡而言之,就是把你想經過login shell運行的shell命令放入到.bash_profile中,把想經過no-login shell運行的shell命令放入到.bashrc文件中。bash

例外

有一個例外就是在Mac OS系統中,當你每次運行termianl的時候,系統都會默認的給你運行一個login shell環境,因此你看到在Mac OS系統中~/目錄下只有一個.bash_profile文件而沒有.bashrc文件,就是這個道理了。ssh

如何同時使用兩個文件?

那麼若是我在Mac OS系統中也想把一些shell命令放到.bashrc文件中呢?固然不推薦這麼作,也沒什麼意義,那麼你能夠建立一個.bashrc的文件。而後在.bash_profile文件中寫上以下代碼:code

if [ -f ~/.bashrc ]; then
   source ~/.bashrc
fi

在terminal讀取.bash_profile文件後就會load.bashrc文件中的內容。htm

原文連接terminal

相關文章
相關標籤/搜索