MacOS設定環境變數path的完全總結
MacOS設定環境變數path的完全總結
一、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
etc - environment config 環境設定, 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的語法都為:
MacOS設定環境變數path的完全總結
一、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 etc - environment config 環境設定, profile - 檔案 (1)檔案構成 執行vi /etc/profile之後呈現:
/etc/profile:此檔案為系統的每個使用者設定環境資訊,當用戶第一次登入時,該檔案被執行,並從/etc/profile.d目錄的配置檔案中搜集shell的設定 (3)修改方法:
如果沒特殊說明,設定PATH的語法都為:
2、/etc/bashrc - 建議修改,方法複雜(系統級別2、和下面的3只修改一個就可以了)
bashrc - bash run config,bash執行時候的設定 (1)檔案構成
執行vi /etc/bashrc之後呈現:
(2)級別:這個是bash啟動時候必須載入的環境變數,做為全域性環境變數設定是可以行的 /etc/bashrc:為每一個執行bash shell的使用者執行此檔案,當bash shell被開啟時,該檔案被讀取。
(3)修改方法:同上/etc/profile
3、/etc/paths - 建議修改,方法簡單 (1)檔案構成
執行vi /etc/paths之後呈現:
(2)級別:實質上這就是個系統全域性的路徑,不建議做直接改動,具體改動的方法兩個。 (3)修改方法:就是載入路徑
或者
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
延 * 伸 * 閱 * 讀
參考文章一,《MAC 設定環境變數path的幾種方法》,原文連結:http://www.flakor.cn/2014-09-14-714.html |
2、/etc/bashrc - 建議修改,方法複雜(系統級別2、和下面的3只修改一個就可以了)
bashrc - bash run config,bash執行時候的設定
(1)檔案構成
執行vi /etc/bashrc之後呈現:
-
# System-wide .bashrc file for interactive bash(1) shells.
-
if [ -z "$PS1" ]; then
-
return
-
fi
-
PS1='\h:\W \u\$ '
-
# Make bash check its window size after a process completes
-
shopt -s checkwinsize
-
[ -r "/etc/bashrc_$TERM_PROGRAM" ] && . "/etc/bashrc_$TERM_PROGRAM"
(2)級別:這個是bash啟動時候必須載入的環境變數,做為全域性環境變數設定是可以行的
/etc/bashrc:為每一個執行bash shell的使用者執行此檔案,當bash shell被開啟時,該檔案被讀取。
(3)修改方法:同上/etc/profile
3、/etc/paths - 建議修改,方法簡單
(1)檔案構成
執行vi /etc/paths之後呈現:
-
/usr/local/bin
-
/usr/bin
-
/bin
-
/usr/sbin/sbin
(2)級別:實質上這就是個系統全域性的路徑,不建議做直接改動,具體改動的方法兩個。
(3)修改方法:就是載入路徑
-
1.建立一個檔案:
-
sudo touch /etc/paths.d/mysql
-
2.用 vim 開啟這個檔案(如果是以 open -t 的方式開啟,則不允許編輯):
-
sudo vim /etc/paths.d/mysql
-
3.編輯該檔案,鍵入路徑並儲存(關閉該 Terminal 視窗並重新開啟一個,就能使用 mysql 命令了)
-
/usr/local/mysql/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
延 * 伸 * 閱 * 讀
-
延伸閱讀http://elf8848.iteye.com/blog/1582137
-
Mac 啟動載入檔案位置(可設定環境變數)
-
-------------------------------------------------------
-
(1)首先要知道你使用的Mac OS X是什麼樣的Shell,使用命令
-
echo $SHELL
-
如果輸出的是:csh或者是tcsh,那麼你用的就是C Shell。
-
如果輸出的是:bash,sh,zsh,那麼你的用的可能就是Bourne Shell的一個變種。
-
Mac OS X 10.2之前預設的是C Shell。
-
Mac OS X 10.3之後預設的是Bourne Shell。
-
(2)如果是Bourne Shell。
-
那麼你可以把你要新增的環境變數新增到你主目錄下面的.profile或者.bash_profile,如果存在沒有關係新增進去即可,如果沒有生成一個。
-
Mac配置環境變數的地方
-
1./etc/profile (建議不修改這個檔案 )
-
全域性(公有)配置,不管是哪個使用者,登入時都會讀取該檔案。
-
2./etc/bashrc (一般在這個檔案中新增系統級環境變數)
-
全域性(公有)配置,bash shell執行時,不管是何種方式,都會讀取此檔案。
-
3.~/.bash_profile (一般在這個檔案中新增使用者級環境變數)
-
每個使用者都可使用該檔案輸入專用於自己使用的shell資訊,當用戶登入時,該檔案僅僅執行一次!
參考文章一,《MAC 設定環境變數path的幾種方法》,原文連結:http://www.flakor.cn/2014-09-14-714.html