參考鏈接: https://blog.csdn.net/waneto2008/article/details/52486433
一、MacOS加載bash shell 環境變量的加載順序
mac 一般使用bash作為默認shell,Mac系統的環境變量,加載順序為:
1、系統級別的
/etc/profile
/etc/bashrc
/etc/paths
2、用戶級別的
~/.bash_profile (mac用的)
~/.bash_login
~/.profile
~/.bashrc (這個linux用的)
二、各加載方式的分析和修改方法
1、/etc/profile
(1)文件構成
執行vi /etc/profile之后呈現:
# System-wide .profile for sh(1) if [ -x /usr/libexec/path_helper ]; then eval `/usr/libexec/path_helper -s` fi if [ "${BASH-no}" != "no" ]; then [ -r /etc/bashrc ] && . /etc/bashrc fi
(2)級別:系統級別,應該是不管哪個shell都調用這個profile,所以不建議用這個文件用於全局環境變量
/etc/profile:此文件為系統的每個用戶設置環境信息,當用戶第一次登錄時,該文件被執行,並從/etc/profile.d目錄的配置文件中搜集shell的設置
(3)修改方法:
如果沒特殊說明,設置PATH的語法都為:
#中間用冒號隔開 export PATH=$PATH:<PATH 1>:<PATH 2>:<PATH 3>:------:<PATH N>
2、/etc/bashrc - 建議修改,方法復雜(系統級別2、和下面的3只修改一個就可以了)
bashrc - bash run config,bash運行時候的設置
(1)文件構成
執行vi /etc/paths之后呈現:
/usr/local/bin /usr/bin /bin /usr/sbin/sbin
(2)級別:實質上這就是個系統全局的路徑,不建議做直接改動,具體改動的方法兩個。
(親測有用)
1.創建一個文件:
sudo touch /etc/paths.d/mongod
2.用 vim 打開這個文件(如果是以 open -t 的方式打開,則不允許編輯):
sudo vim /etc/paths.d/mongod
3.編輯該文件,鍵入路徑並保存(關閉該 Terminal 窗口並重新打開一個,就能使用mongod命令了)
/usr/local/mongod/bin
或者
sudo -s 'echo "/usr/local/sbin/mypath" > /etc/paths.d/mypath'
4、~/.bash_profile 用戶級別,建議修改這個文件。系統、用戶級別只要選一個修改就夠了
~/.bash_login
~/.profile
(1)文件構成:和/etc/profile一樣,export PATH=$PATH:/xxx/bin:/bin
(2)級別:用戶級別,這三個MacOS按照順序查找,找到了一個,就不往下查找了。用戶登錄后執行一次
(3)修改方法:同/etc/profile
5、~/.bashrc 用戶級別
(1)文件構成:和/etc/profile一樣,export PATH=$PATH:/xxx/bin:/bin
(2)級別:用戶級別。每次打開新的shell窗口,都會去讀取一次。
(注:Linux 里面是 .bashrc 而 Mac 是 .bash_profile)
(3)修改方法:同/etc/profile