macOS下配置环境变量/查看环境变量
文章目錄
- macOS 下環(huán)境變量的配置文件
- 解決環(huán)境變量在 zsh shell 無效的問題
- 查看 macOS 全部環(huán)境變量
- 設置系統(tǒng)環(huán)境變量
- 設置用戶環(huán)境變量
macOS 下環(huán)境變量的配置文件
a. /etc/paths b. /etc/profile c. ~/.bash_profile d. ~/.bash_login e. ~/.profile f. ~/.bashrc/etc/profile 和 /etc/paths 是系統(tǒng)級別的配置文件,后面幾個是用戶級的配置文件。
文件加載順序:
系統(tǒng)啟動時會按上面羅列的配置文件從上到下的順序加載。但是,如果 ~/.bash_profile 文件存在,那么 ~/.bash_login、~/.profile、~/.bashrc 會被忽略,如果不存在 ~/.bash_profile 文件,才會按順序讀取后面的文件。另外,~/.bashrc 文件又比較特殊,這個文件是在 bash shell 打開時才加載的,并不是系統(tǒng)啟動后就加載的。
解決環(huán)境變量在 zsh shell 無效的問題
以上的配置文件在 bash shell 環(huán)境下才有效,在 zsh shell 環(huán)境下無效。如果希望在 zsh shell 下可以使用上述配置文件中的環(huán)境變量,可以在 ~/.zshenv 或者 ~/.zshrc 文件中添加下面的命令語句:
source /etc/profile source ~/.bash_profile打開 zsh shell 時會順序加載 ~/.zshenv、~/.zshrc 文件,添加上面兩條命令語句,則表示加載 ~/.zshenv 或 ~/.zshrc 時會去調用外部腳本文件 /etc/profile 和 ~/.bash_profiel,且被調用的腳本運行結束后,所擁有的環(huán)境變量和聲明變量會被當前 zsh shell 保留,類似將調用腳本的內容復制過來直接執(zhí)行,執(zhí)行完畢后原主 shell 繼續(xù)運行。所以通過這樣的方式就可以使用在 bash shell 環(huán)境下配置的環(huán)境變量了。
當然你也可以直接將相關的環(huán)境變量配置在 ~/.zshrc 文件中,但是顯然是多余而且繁瑣了,每次你要新增一個環(huán)境變量的時候,你都要在 bash shell 有關的配置文件中添加,又要在 zsh shell 有關的配置文件中添加,顯然是不合適的。而如果每次加載 ~/.zshrc 文件時會自動調用 bash shell 有關的配置文件,那么所有的環(huán)境變量只要在 bash shell 有關的配置文件中添加就可以了。
查看 macOS 全部環(huán)境變量
輸入命令 export,查看全部的環(huán)境變量:
[~]$ export AUTOJUMP_ERROR_PATH=/Users/liaowenxiong/Library/autojump/errors.log AUTOJUMP_SOURCED=1 HOME=/Users/liaowenxiong HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_261.jdk/Contents/Home LANG=zh_CN.UTF-8 LESS=-R LOGNAME=liaowenxiong LSCOLORS=Gxfxcxdxbxegedabagacad NEXUS_HOME=/Users/liaowenxiong/Applications/nexus-3.20.1-01-mac/nexus-latest OLDPWD=/Users/liaowenxiong ...設置系統(tǒng)環(huán)境變量
系統(tǒng)環(huán)境變量在 /etc/profile 文件中配置,編輯該文件需要 root 權限:
sudo vim /etc/profile新增環(huán)境變量 JAVA_HOME、CLASS_PATH,內容如下:
JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home"export JAVA_HOMECLASS_PATH="$JAVA_HOME/lib"PATH=".:.$PATH:$JAVA_HOME/bin"上面的腳本內容解讀:
聲明定義了一個環(huán)境變量 JAVA_HOME,變量的值是 /Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home,并且將該變量聲明成可以輸出,即可以復制給子進程。
聲明定義了環(huán)境變量 CLASS_PATH,變量的值是 $JAVA_HOME/lib,$JAVA_HOME 變量取值 /Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home,所以最終 CLASS_PATH 變量的取值是 /Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home/lib。
聲明定義了環(huán)境變量 PATH,變量的值是 .:.$PATH:$JAVA_HOME/bin,$PATH 的值來自于配置文件 /etc/paths 中,說明創(chuàng)建一個新進程時,首先加載的文件應該是 /etc/paths,最終變量 PATH 的值是 .:./usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Apple/usr/bin:/Library/Java/JavaVirtualMachines/jdk1.8.0_261.jdk/Contents/Home/bin
要想馬上生效,輸入下面的命令:
source /etc/profile查看環(huán)境變量 JAVA_HOME 的值:
echo $JAVA_HOME設置用戶環(huán)境變量
用戶環(huán)境變量可以在 ~/.bash_profile 文件內配置。
你可以在命令終端使用 vim 編輯文件:
vim ~/.bash_profile你也可以使用 macOS 內置的編輯器打開文件,在命令終端輸入:
open -e ~/.bash_profile如果不存在 ~/.bash_profile 文件,這需要自己創(chuàng)建該文件,在終端輸入:
touch ~/.bash_profile文件創(chuàng)建好之后再打開文件編輯內容。
配置內容可以按這樣的格式寫:
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home PATH=$JAVA_HOME/bin:$PATH:. CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:. export JAVA_HOME export PATH export CLASSPATH也可以是這樣的格式寫:
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-11.0.2.jdk/Contents/Home export PATH=$JAVA_HOME/bin:$PATH export ANDROID_HOME=/Library/sdk export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools/ export PATH=$PATH:/usr/local/bin:/usr/local/sbin:${PATH}最后在命令終端輸入 source ~/.bash_profile 使配置立即生效,這個時候我們就可以使用命令echo $PATH或者 echo $JAVA_HOME 查看變量的內容。
總結
以上是生活随笔為你收集整理的macOS下配置环境变量/查看环境变量的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 中国移动路由器怎么卸载应用如何拆卸移动路
- 下一篇: Sublime Text for Mac