二次原創(chuàng)參考文章:mac下添加環(huán)境變量
之前一直做的是iOS開發(fā), 一直都沒有碰見過環(huán)境變量的事情, 最近又弄小程序又弄java后臺環(huán)境變量這個詞經(jīng)常出現(xiàn), mysql, node.js, maven等都涉及到了, 因此趁機梳理一下
1.環(huán)境變量的作用
我們先來看這樣的一個使用場景1祷杈,我們有一個程序Java,需要讀取某個文件(/data/file.txt)陡厘。 那么我們在運行的時候是不是需要做如下的步驟:
1.cd 到Java的目錄下;
-
2.執(zhí)行Java命令糙置;
但是,當我們需要同時使用多個工具的時候标捺,比如又有java揉抵、maven、git等 等冤今,而且是多臺機器的時候,我們通常需要很多繁瑣的cd操作屋谭。而配置環(huán)境變量 就可以使我們可以快速的運行這些腳本了
1.1使用場景1
如果我們又有JDK1.7,又有JDK1.8桐磁,而且需要經(jīng)常的切換讲岁,那么怎么辦?
可以配置局部變量比如:
1 export JDK1.7=/usr/apps/jdk1.7
2 export JDK1.8=/usr/apps/jdk1.8
3 export PATH=$JDK1.7/bin
ok缓艳,有了上面的介紹,我們大概就可以知道環(huán)境變量到底有什么用處了秧耗。用處就是可以在操作系統(tǒng)的各個目錄下舶治,都能訪問到需要的工具目錄內(nèi)的內(nèi)容,和Windows的桌面的思想十分相似霉猛,而且相當于在系統(tǒng)的各處都具有這個桌面的快捷方式。
2.Mac系統(tǒng)環(huán)境變量在哪里設置
a. /etc/profile
b. /etc/paths
c. ~/.bash_profile
d. ~/.bash_login
e. ~/.profile
f. ~/.bashrc
其中a和b是系統(tǒng)級別的的瘫辩,系統(tǒng)啟動就會加載,其余是用戶接別的伐厌。c,d,e按照從前往后的順序讀取,如果c文件存在军熏,則后面的幾個文件就會被忽略不讀了,以此類推荡澎。~/.bashrc沒有上述規(guī)則晤锹,它是bash shell打開的時候載入的。這里建議在c中添加環(huán)境變量鞭铆,以下也是以在c中添加環(huán)境變量來演示的:
3.添加環(huán)境變量:
- 3.1找到用戶文件夾下的.bash_profile文件雙擊打開, 或者使用vim編輯器
- 前往文件夾輸入~/.bash_profile也可以進入
export MYSQL_HOME=/usr/local/mysql/bin
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-10.0.1.jdk/Contents/Home
export CLASS_HOME=$JAVA_HOME/lib
export MAVEN_HOME=/Users/LittleP/Documents/maven-3.6.1
export PATH=$PATH:$MYSQL_HOME:$JAVA_HOME/bin:$CLASS_HOME:$MAVEN_HOME:
科普一下(這段可跳過)在Mac中我們的環(huán)境是添加到PATH
路徑下的车遂,系統(tǒng)運行的時候會直接去找/usr/libexec/path_helper
這個文件,里面內(nèi)容就是我們通過環(huán)境變量設置的PATH,所以我們設置環(huán)境變量是通過PATH
來設置的。
可以看到它里面加載了我們設置的環(huán)境變量艰额。
- 3.2看到了上圖,我已經(jīng)配置過的一些環(huán)境變量柄沮,以添加maven的環(huán)境變量為例:
export MAVEN_HOME=/usr/local/apache-maven-3.6.0
export PATH=$PATH:$MAVEN_HOME
添加格式: export + 自定義名字(MAVEN_HOME) = 路徑名稱废岂,然后使用export PATH=$PATH:$+自定義名字(MAVEN_HOME)。
注意:先定義路徑(MAVEN_HOME)
湖苞,后用path引入(PATH)
,是從上到下的順序镐作,要不然就讀不出隆箩。
另外一點就是在bash_profile
圖中我最后添加了$PATH
:這里通過它引用了一些系統(tǒng)基礎的命令,切記一定要加上否則連系統(tǒng)基礎命令都會報command not found, 比如vim
- 3.3使用source ./.bash_profile使剛剛修改的文件生效捌臊。
- 3.4 這個時候我們就可以使用
echo $PATH(echo+自定義名字(MAVEN_HOME)
查看單獨設置的某一條環(huán)境變量)就可以看到剛剛添加的路徑了,我常使用--+version的方式查看剛剛添加的是否神效比如上面添加的maven(直接使用mvn version):