Linux
.profile .bash_profile 和 .bashrc 之間的功能區別是什麼
.profile
,.bash_profile
和.bashrc
文件之間的功能區別是什麼?
.bash_profile
並且.bashrc
特定於bash
, 而.profile
在沒有自己的特定於 shell 的配置文件的情況下被許多 shell 讀取。(.profile
由原始 Bourne shell 使用。).bash_profile
或.profile
由登錄 shell 讀取,以及.bashrc
; 子shell 只讀.bashrc
。(在作業控制和現代視窗系統之間,.bashrc
它本身並沒有得到太多使用。如果你使用screen
ortmux
,螢幕/視窗通常執行子shell而不是登錄shell。)這背後的想法是一次性設置由
.profile
(或其特定於 shell 的版本)完成,每個 shell 的東西由.bashrc
. 例如,您通常只希望在每個會話中載入一次環境變數,而不是在每次啟動會話中的子 shell 時讓它們受到攻擊,而您總是需要別名(不會像環境變數那樣自動傳播)。其他值得注意的 shell 配置文件:
/etc/bash_profile
(fallback/etc/profile
) 在使用者.profile
進行系統範圍配置之前讀取,同樣/etc/bashrc
在子shell 中讀取(這個沒有備份)。包括 Ubuntu 在內的許多系統也使用/etc/profile.d
包含 shell scriptlet 的目錄,這些腳本是.
(source
) -ed from/etc/profile
; 這裡的片段是每個 shell 的,*.sh
適用於所有 Bourne/POSIX 兼容的 shell 和適用於該特定 shell 的其他擴展。