你在開玩笑吧 居然還有人不知道為什么開發(fā)Java鸡号、Python琼牧、PHP程序要配置環(huán)境變量 你看完之后不秒懂都不行

??作者:極客小俊
??公眾號同名: 一個(gè)把邏輯思維轉(zhuǎn)變?yōu)榇a的技術(shù)博主

環(huán)境變量 設(shè)計(jì)2.png

你在開玩笑吧! 居然還有人不知道為什么要配置環(huán)境變量???

前言概述

你在開始學(xué)習(xí)編程的時(shí)候,首先就會(huì)接觸到環(huán)境變量

例如java、python蔫仙、php等開發(fā)語言的時(shí)候料睛,需要去配置一個(gè)環(huán)境變量 但又不知道為什么要去配置它!

并且這個(gè)環(huán)境變量在配置的時(shí)候你也不能照本宣科的去配置,稍有不慎就會(huì)出現(xiàn)各種各樣的問題!

今天我們就來討論討論這個(gè)環(huán)境變量的話題,并且搞清楚它的原理摇邦,這樣以后再次遇到類似問題就會(huì)迎刃而解!

什么是環(huán)境變量??

環(huán)境變量 英文名為: Environment variables

是在操作系統(tǒng)中一個(gè)具有特定名字的對象恤煞,它包含了一個(gè)多個(gè)應(yīng)用程序所將使用到的信息, 例如: 如系統(tǒng)臨時(shí)文件夾位置、系統(tǒng)文件夾位置施籍、某些應(yīng)用軟件文件的路徑等等..

舉個(gè)梨子??

當(dāng)要求系統(tǒng)運(yùn)行一個(gè)程序但是又沒有告訴它這個(gè)程序所在的完整路徑時(shí)居扒,系統(tǒng)默認(rèn)會(huì)在當(dāng)前目錄下面尋找這個(gè)程序,如果找不到就會(huì)到環(huán)境變量中的path中指定的路徑去找, 所以我們用戶可以通過設(shè)置環(huán)境變量,來更好的運(yùn)行程序!

這里我以windows系統(tǒng)的環(huán)境變量來舉個(gè)梨子

為了讓大家更好的去理解這句話丑慎,我們這里來實(shí)際操作一下, 你可以打開你的cmd命令行終端來嘗試運(yùn)行一下你的QQ程序, 輸入一個(gè)QQ程序喜喂,你看看會(huì)發(fā)生什么事情!

如圖

這里他提示了一個(gè)'qq' 不是內(nèi)部或外部命令,也不是可運(yùn)行的程序或批處理文件

結(jié)果很明顯竿裂,不能通過這種方式去打開QQ程序,對吧 也就是說你要先告訴系統(tǒng)這個(gè)程序在哪,才能進(jìn)行打開

也相信大多數(shù)人都是通過桌面的QQ圖標(biāo)或者菜單等方式去點(diǎn)擊打開這些應(yīng)用程序 對吧??

那么如果說我硬要通過這種cmd的方式去打開一個(gè)應(yīng)用程序該怎么辦呢玉吁?首先你要進(jìn)入并且找到這個(gè)程序的準(zhǔn)確路徑位置!

例如上面我們要打開QQ 我就要先通過cmd命令直接進(jìn)入到QQ安裝的所在目錄下的bin目錄下的QQ.exe這個(gè)執(zhí)行程序, 當(dāng)然這里需要通過一些簡單的DOS命令 才可以進(jìn)去, 不明白沒關(guān)系,后面會(huì)說到!

這里我這里的路徑為D:\騰訊軟件\QQ\Bin

那么我先切換到D盤腻异,然后再使用cd命令切換到D:\騰訊軟件\QQ\Bin這個(gè)目錄下,最后執(zhí)行一下QQ.exe

如圖

嘿嘿 你驚奇的發(fā)現(xiàn)居然打開了QQ程序, 是不是感覺很zb! 這個(gè)效果跟你在點(diǎn)擊圖標(biāo)去打開是一個(gè)效果诈茧, 沒有任何區(qū)別!

那如果本次都叫你用這種去慢慢輸入路徑的方式打開 萬一路徑很長很復(fù)雜那豈不是你要瘋掉!??, 當(dāng)然這里只是舉個(gè)梨子,讓你更好的理解為什么要配置環(huán)境變量 你完全可以使用桌面圖標(biāo)來打開這些應(yīng)用程序!????

而且你如果關(guān)掉cmd后重新打開捂掰,再次輸入QQ 其實(shí)又是同樣的問題敢会,這就意味著你要從cmd打開QQ必須每次按照剛才的步驟進(jìn)行打開曾沈,并且你還必須要切換到這個(gè)QQbin目錄下才行,這樣就很麻煩了, 也不利于你zb!??

那么有沒有辦法讓我們在隨便哪個(gè)目錄中都可以直接使用cmd輸入一個(gè)QQ就可以打開的辦法呢?

現(xiàn)在就是使用環(huán)境變量的時(shí)候了!

其實(shí)很簡單你只要把剛剛那個(gè)bin目錄的路徑添加到環(huán)境變量系統(tǒng)變量下的path中就可以了

這里的path也就是環(huán)境變量中用來指定可執(zhí)行文件絕對路徑鸥昏,這里配置了很多很多路徑塞俱,彼此之間用分號隔開!

具體操作這里以win10為例,步驟如下:

點(diǎn)擊此電腦---->右鍵(選擇屬性)----->點(diǎn)擊高級系統(tǒng)設(shè)置------>點(diǎn)擊(環(huán)境變量)

如圖

然后找到系統(tǒng)變量下的path點(diǎn)擊編輯

如圖

然后點(diǎn)擊新建

然后復(fù)制你的QQ安裝目錄下的bin路徑, 我的路徑如下圖

也就是復(fù)制D:\騰訊軟件\QQ\Bin到新建的對話框中

最后全部點(diǎn)擊確定即可!

然后你就可以在cmd中的任意目錄 任意盤符下進(jìn)行打開這個(gè)應(yīng)用程序了!

通過這個(gè)小案例 你應(yīng)該對環(huán)境變量有一點(diǎn)點(diǎn)初步的認(rèn)識了吧!

小結(jié)

環(huán)境變量的主要作用就是規(guī)定了某些系統(tǒng)文件所在的位置!

用戶變量和系統(tǒng)變量的區(qū)別??????

概述

在上面的環(huán)境變量介紹中吏垮,我們看到可以通過配置一些路徑從而達(dá)到在cmd命令行中快速啟動(dòng)應(yīng)用程序!

但是眼尖的朋友可能已經(jīng)發(fā)現(xiàn)障涯,環(huán)境變量的配置中被分為了 用戶變量系統(tǒng)變量 他們分別又是什么意思呢?

用戶變量 ??

環(huán)境變量中的用戶變量配置只會(huì)當(dāng)前所登錄的系統(tǒng)用戶生效, 也就是說登錄的系統(tǒng)用戶可以對他自己所配置的環(huán)境變量參數(shù)進(jìn)行增刪改 , 不同用戶的用戶變量之間是獨(dú)立存在的,并且互不干擾的

系統(tǒng)變量??

環(huán)境變量系統(tǒng)變量的配置會(huì)對所有用戶都會(huì)有效, 也就是說如果系統(tǒng)變量被修改了,那么任何一個(gè)用戶都將受到影響!

但是只有管理員賬戶才有權(quán)限進(jìn)行系統(tǒng)變量的設(shè)置, 普通系統(tǒng)用戶是不能夠去修改系統(tǒng)變量的膳汪, 當(dāng)然一般情況下你通常都是使用的系統(tǒng)管理員賬戶進(jìn)行windows系統(tǒng)的登錄的

所以平常我們在自己的電腦系統(tǒng)中去配置環(huán)境變量的時(shí)候唯蝶,不管你是配置在用戶變量還是系統(tǒng)變量基本上還是沒有什么區(qū)別!

用戶變量和系統(tǒng)變量之間的關(guān)系??

用戶變量系統(tǒng)變量 我們可以用一張圖來進(jìn)行表示!

如圖

看到了吧,不同用戶的用戶變量之間是并列獨(dú)立的, 但是如果說系統(tǒng)變量被修改了,那么任何系統(tǒng)用戶級別都會(huì)用系統(tǒng)變量遗嗽,因此每個(gè)用戶都將受到影響

所以說系統(tǒng)變量就是系統(tǒng)級別的變量粘我,影響范圍最大, 而用戶變量是建立在系統(tǒng)變量之前的獨(dú)立存在, 它需要使用系統(tǒng)變量, 而我們所指的環(huán)境變量則是是一個(gè)整體,它里面就代表了系統(tǒng)變量用戶變量

所以用戶變量系統(tǒng)變量的區(qū)別就是他們的級別不一樣!

如何自定義環(huán)境變量命令??

當(dāng)我們想通過cmd來運(yùn)行一個(gè)自己定義的命令時(shí)痹换,就會(huì)出現(xiàn)不是內(nèi)部或外部命令征字,也不是可運(yùn)行的程序 或批處理文件的提示信息!

但是如果我們在cmd中輸入一個(gè)shutdown命令則可以完全正常執(zhí)行!

如圖

這個(gè)原因也很簡單,正因?yàn)?code>shutdown在環(huán)境變量中定義了它這個(gè)命令所在的路徑,而test這個(gè)命令則沒有!

shutdown命令的默認(rèn)路徑是在C:\Windows\System32目錄下, 包括一些常見的cmd命令其實(shí)都在這個(gè)目錄下

如圖

C:\Windows\System32這個(gè)路徑也是默認(rèn)安裝系統(tǒng)的時(shí)候就被定義在了環(huán)境變量當(dāng)中, 就跟之前定義QQ應(yīng)用程序也是一個(gè)道理!

如圖

所以根據(jù)這個(gè)道理我們也可以自定義一個(gè)環(huán)境變量來進(jìn)行調(diào)用!

要知道變量、變量 就是一個(gè)可變化的量 我們就利用這個(gè)特點(diǎn)來自己定義一個(gè)系統(tǒng)變量然后調(diào)用它來打開某個(gè)應(yīng)用程序!

舉個(gè)梨子

我這里要打開微信娇豫,當(dāng)然你完全可以依照之前的辦法在path中把微信的WeChat.exe路徑加入到其中, 但是這樣子做不夠靈活!

我們可以先在系統(tǒng)變量中定義一個(gè)weixin 然后設(shè)置為微信目錄地址!

我的地址為:D:\騰訊軟件\WeChat

選擇系統(tǒng)變量 點(diǎn)擊新建 輸入變量名

變量名 英文即可!

就是微信的路徑

如圖

設(shè)置好了之后匙姜,我們現(xiàn)在就可以對它進(jìn)行調(diào)用!

然后再path中把剛剛自定義好的weixin這個(gè)變量加入到其中,格式為%變量名%

如圖

這樣一來以后你只需要去修改變量的值 path中就會(huì)自動(dòng)獲取到了!

接下來就可以去cmd中嘗試一下打開這個(gè)應(yīng)用程序吧!

所以通過以上的操作,只要是在cmd中去執(zhí)行的應(yīng)用,其位置均儲存在環(huán)境變量目錄值中,我們在執(zhí)行cmd中的應(yīng)用時(shí)冯痢,其實(shí)就是在遍歷環(huán)境變量所有應(yīng)用程序的位置, 并且查看其中有沒有該程序!

如果沒有就會(huì)提示未找到這種信息氮昧,如果在環(huán)境變量中找到了你在cmd中輸入的命令,那么通過環(huán)境變量就可以直接去找到該程序并且執(zhí)行!

為什么編程開發(fā)要配置環(huán)境變量??

知道什么是環(huán)境變量以后浦楣,現(xiàn)在應(yīng)該明白我們在開發(fā)java袖肥、python、php之前需要配置的環(huán)境變量的原因了吧

舉個(gè)梨子

比如Java我們就需要把JDKbin目錄添加到環(huán)境變量path中椒振,這樣我們就可以在任意目錄下使用bin下面的.exe可執(zhí)行程序昭伸,javac.exe、java.exe

javac.exe用來處理.java源代碼文件澎迎,是把源代碼文件編譯字節(jié)碼文件的一個(gè)工具,經(jīng)過javac.exe這個(gè)工具編譯java源代碼文件后形成的.class就是字節(jié)碼文件

java.exe用來處理.class字節(jié)碼文件進(jìn)行執(zhí)行的庐杨,也就是JVM解釋執(zhí)行java程序, 從而實(shí)現(xiàn)java程序的運(yùn)行

而他們都在bin目錄下, 這都是為了能夠方便的使用這些開發(fā)語言所帶有的編譯解釋工具和命令, 所以我們才要配置環(huán)境變量

如圖

要知道這也正是很多新手朋友剛剛?cè)腴Tjava的一個(gè)難題, 如果環(huán)境變量配置不成功,在cmd中去輸入java就會(huì)提示找不到某某的關(guān)鍵詞 對吧!

然而java的應(yīng)用程序開發(fā)包就在安裝JDK目錄下面的bin目錄中, 并且所有跟Java相關(guān)的工具都在bin目錄中!

所以在開始學(xué)習(xí)java或者其他一些開發(fā)語言的時(shí)候夹供,為了操作方便必須要配置一下環(huán)境變量 從而達(dá)到能夠正常運(yùn)行java的環(huán)境, 其他一些語言也是以此類推!

環(huán)境變量的一些小玩法??

既然我們知道了環(huán)境變量中的path可以被系統(tǒng)自動(dòng)檢索灵份,那么我們就也利用這個(gè)特點(diǎn)來做一些配置!

舉個(gè)梨子

我們可以指定某個(gè)文件夾下的所有.exe執(zhí)行程序都可以直接在命令行終端里輸入其名稱,并且直接打開!

你可以提前準(zhǔn)備好一些.exe程序哮洽,并放入到一個(gè)tools的目錄中填渠,比如你把這個(gè)目錄建立在D:盤

如圖

然后你只需要把這個(gè)D:\tools路徑配置到環(huán)境變量path當(dāng)中

如圖

現(xiàn)在就可以通過命令行終端直接輸入其執(zhí)行程序的名稱來直接打開了!

如圖

但是這種辦法 可能會(huì)有一些弊端, 因?yàn)橛行?code>.exe執(zhí)行程序你拷貝到另外的文件夾是無法被正常打開的!

既然是環(huán)境變量我們就要用變量的特性來解決這個(gè)問題, 也就是用變量訪問指定文件夾列表的方式!

我們可以在系統(tǒng)變量當(dāng)中自定義一個(gè)變量名TOOLS

那么它的值為如下

D:\Microsoft VS Code;D:\PotPlayer64;D:\Typora;D:\ReNamer;D:\Bandizip

也就是我們把vscode、PotPlayer氛什、typora莺葫、renamer、bandizip這幾種應(yīng)用的路徑都賦值到一個(gè)變量當(dāng)中

如圖

注意: 第一次輸出的時(shí)候枪眉,需要這樣進(jìn)行輸入捺檬,以后再添加直接點(diǎn)擊編輯就可以了

也就是以下這個(gè)樣子

也就是把多個(gè)路徑映射到一個(gè)變量

然后再把這個(gè)TOOLS變量添加到系統(tǒng)變量中的Path下, 加入的格式就為%自定義的變量名%

如圖

這樣子我們就可以通過終端命令行來快速啟動(dòng)這些應(yīng)用了, 當(dāng)然前提你要知道這些應(yīng)用執(zhí)行程序的名稱!

如圖

最后??

看到這里了想必你已經(jīng)對環(huán)境變量也應(yīng)該有一個(gè)基本的認(rèn)識了吧贸铜,也不會(huì)對環(huán)境變量的配置感到復(fù)雜了!

環(huán)境變量還有更多的玩法堡纬,也期待小伙伴勇于去發(fā)現(xiàn)其中的奧秘!??

如果我的博客對你有幫助、如果你喜歡我的博客內(nèi)容蒿秦,請 “??點(diǎn)贊” “??評論” “??收藏” 一鍵三連哦烤镐!


如果以上內(nèi)容有任何錯(cuò)誤或者不準(zhǔn)確的地方,????歡迎在下面 ?? 留個(gè)言指出棍鳖、或者你有更好的想法炮叶,歡迎一起交流學(xué)習(xí)??????????

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市鹊杖,隨后出現(xiàn)的幾起案子悴灵,更是在濱河造成了極大的恐慌扛芽,老刑警劉巖骂蓖,帶你破解...
    沈念sama閱讀 206,214評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異川尖,居然都是意外死亡登下,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評論 2 382
  • 文/潘曉璐 我一進(jìn)店門叮喳,熙熙樓的掌柜王于貴愁眉苦臉地迎上來被芳,“玉大人,你說我怎么就攤上這事馍悟∨媳簦” “怎么了?”我有些...
    開封第一講書人閱讀 152,543評論 0 341
  • 文/不壞的土叔 我叫張陵锣咒,是天一觀的道長侵状。 經(jīng)常有香客問我,道長毅整,這世上最難降的妖魔是什么趣兄? 我笑而不...
    開封第一講書人閱讀 55,221評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮悼嫉,結(jié)果婚禮上艇潭,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好蹋凝,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,224評論 5 371
  • 文/花漫 我一把揭開白布鲁纠。 她就那樣靜靜地躺著,像睡著了一般鳍寂。 火紅的嫁衣襯著肌膚如雪房交。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,007評論 1 284
  • 那天伐割,我揣著相機(jī)與錄音候味,去河邊找鬼。 笑死隔心,一個(gè)胖子當(dāng)著我的面吹牛白群,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播硬霍,決...
    沈念sama閱讀 38,313評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼帜慢,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了唯卖?” 一聲冷哼從身側(cè)響起粱玲,我...
    開封第一講書人閱讀 36,956評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎拜轨,沒想到半個(gè)月后抽减,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,441評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡橄碾,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,925評論 2 323
  • 正文 我和宋清朗相戀三年卵沉,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片法牲。...
    茶點(diǎn)故事閱讀 38,018評論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡史汗,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出拒垃,到底是詐尸還是另有隱情停撞,我是刑警寧澤,帶...
    沈念sama閱讀 33,685評論 4 322
  • 正文 年R本政府宣布悼瓮,位于F島的核電站戈毒,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏谤牡。R本人自食惡果不足惜副硅,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,234評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望翅萤。 院中可真熱鬧恐疲,春花似錦腊满、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,240評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至省咨,卻和暖如春肃弟,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背零蓉。 一陣腳步聲響...
    開封第一講書人閱讀 31,464評論 1 261
  • 我被黑心中介騙來泰國打工笤受, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人敌蜂。 一個(gè)月前我還...
    沈念sama閱讀 45,467評論 2 352
  • 正文 我出身青樓箩兽,卻偏偏與公主長得像,于是被迫代替她去往敵國和親章喉。 傳聞我的和親對象是個(gè)殘疾皇子汗贫,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,762評論 2 345

推薦閱讀更多精彩內(nèi)容