MAC 環(huán)境變量那些事

二次原創(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來設置的。

image.png

可以看到它里面加載了我們設置的環(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):
最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末逞力,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子举庶,更是在濱河造成了極大的恐慌砚亭,老刑警劉巖灯变,帶你破解...
    沈念sama閱讀 217,406評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件添祸,死亡現(xiàn)場離奇詭異寻仗,居然都是意外死亡,警方通過查閱死者的電腦和手機署尤,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評論 3 393
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來俗扇,“玉大人箕别,你說我怎么就攤上這事〈。” “怎么了?”我有些...
    開封第一講書人閱讀 163,711評論 0 353
  • 文/不壞的土叔 我叫張陵到忽,是天一觀的道長清寇。 經(jīng)常有香客問我,道長颗管,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,380評論 1 293
  • 正文 為了忘掉前任帽馋,我火速辦了婚禮,結果婚禮上绽族,老公的妹妹穿的比我還像新娘。我一直安慰自己涛漂,他們只是感情好,可當我...
    茶點故事閱讀 67,432評論 6 392
  • 文/花漫 我一把揭開白布匈仗。 她就那樣靜靜地躺著逢慌,像睡著了一般。 火紅的嫁衣襯著肌膚如雪火架。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,301評論 1 301
  • 那天何鸡,我揣著相機與錄音牛欢,去河邊找鬼。 笑死洞翩,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播已亥,決...
    沈念sama閱讀 40,145評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼虑椎,長吁一口氣:“原來是場噩夢啊……” “哼震鹉!你這毒婦竟也來了捆姜?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,008評論 0 276
  • 序言:老撾萬榮一對情侶失蹤浆兰,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后簸呈,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,443評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡劫恒,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,649評論 3 334
  • 正文 我和宋清朗相戀三年轿腺,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片憔辫。...
    茶點故事閱讀 39,795評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡决侈,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出赖歌,到底是詐尸還是另有隱情,我是刑警寧澤庐冯,帶...
    沈念sama閱讀 35,501評論 5 345
  • 正文 年R本政府宣布展父,位于F島的核電站,受9級特大地震影響栖茉,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜吕漂,卻給世界環(huán)境...
    茶點故事閱讀 41,119評論 3 328
  • 文/蒙蒙 一惶凝、第九天 我趴在偏房一處隱蔽的房頂上張望吼虎。 院中可真熱鬧苍鲜,春花似錦、人聲如沸混滔。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,731評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至电湘,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間寂呛,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,865評論 1 269
  • 我被黑心中介騙來泰國打工贷痪, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留蹦误,地道東北人。 一個月前我還...
    沈念sama閱讀 47,899評論 2 370
  • 正文 我出身青樓舱沧,卻偏偏與公主長得像,于是被迫代替她去往敵國和親偶洋。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,724評論 2 354