在Linux中,我們一般將環境變數信息配置到不同的文件中,常用的配置文件有 /etc/profile /etc/bashrc ~/.bash_profile ~/.bashrc ~/.bash _logout 上面幾個配置主要是在互動式登錄Shell和互動式非登錄Shell有區別,會載入不同的配置。 ...
在Linux中,我們一般將環境變數信息配置到不同的文件中,常用的配置文件有
- /etc/profile
- /etc/bashrc
- ~/.bash_profile
- ~/.bashrc
- ~/.bash _logout
上面幾個配置主要是在互動式登錄Shell和互動式非登錄Shell有區別,會載入不同的配置。
互動式登錄Shell
就是登錄Linux系統,你輸入用戶名和密碼後執行的,或su -l. 用戶名方式
非登錄Shell
就是你進入系統後,開一個終端Bash執行的。
/etc/profile
一般為系統配置,為系統的每個用戶設置環境信息, 當用戶第一次登錄時,該文件被執行, 並從/etc/profile.d目錄的配置文件中搜集shell的設置.
對 /etc/profile
的修改必須得重啟才會生效,而且每個用戶都是有效的。
/etc/profile.d/
可以理解為/etc/profile的一部分,只不過可以根椐類別或功能將配置拆分成若幹個文件,這樣更清晰也便於維護。
/etc/bashrc
為每個運行 Bash Shell 的用戶執行該文件,當Bash Shell打開時,該文件被執行,其配置對所有使用bash的用戶打開的每個Bash都有效。當被修改後,不用重啟只需要打開一個新的 Bash 即可生效。
~/.bash_profile
文件在用戶目錄下,為當前用戶設置專屬的環境信息和啟動程式,當用戶登錄時該文件執行一次,並執行當前用戶的 .bashrc 文件。如果有修改,也需要重啟才能生效。
~/.bashrc
為當前用戶設置專屬的 Bash 信息,當每次打開新的Shell時,該文件被執行。如有修改,不需要重啟只需要開一個新的Shell終端就行了。
~/.bash_logout
當前用戶每次退出Bash Shell時執行該文件。
以上需要重啟才能生效的文件,是通過類似 source ~/.bash_profile
這樣的方式暫時生效的,並不是真的重啟電腦。