作者:極客小俊
公眾號:同名
前言概述
你在開始學習編程的時候,首先就會接觸到環境變量
例如java、python、php
等開發語言的時候,需要去配置一個環境變量
但又不知道為什麼要去配置它!
並且這個環境變量
在配置的時候你也不能照本宣科的去配置,稍有不慎就會出現各種各樣的問題!
今天我們就來討論討論這個環境變量
的話題,並且搞清楚它的原理,這樣以後再次遇到類似問題就會迎刃而解!
環境變量
英文名為: Environment variables
是在操作系統
中一個具有特定名字的對象,它包含了一個
或多個
應用程序所將使用到的信息, 例如: 如系統臨時文件夾位置、系統文件夾位置、某些應用軟件文件的路徑等等…
舉個梨子
當要求系統
運行一個程序
但是又沒有告訴它這個程序
所在的完整路徑時,系統
默認會在當前目錄下面尋找這個程序
,如果找不到就會到環境變量
中的path
中指定的路徑去找, 所以我們用戶可以通過設置環境變量
,來更好的運行程序!
這裡我以windows
系統的環境變量
來舉個梨子
為了讓大家更好的去理解這句話,我們這裡來實際操作一下, 你可以打開你的cmd命令行終端
來嘗試運行一下你的QQ程序, 輸入一個QQ
程序,你看看會發生什麼事情!
如圖
這裡他提示了一個'qq' 不是內部或外部命令,也不是可運行的程序或批處理文件
結果很明顯,不能通過這種方式去打開QQ程序,對吧 也就是說你要先告訴系統這個程序在哪,才能進行打開
也相信大多數人都是通過桌面的QQ圖標或者菜單等方式去點擊打開這些應用程序 對吧
那麼如果說我硬要通過這種cmd
的方式去打開一個應用程序該怎麼辦呢?首先你要進入並且找到這個程序的准確路徑位置!
例如上面我們要打開QQ 我就要先通過cmd命令
直接進入到QQ安裝的所在目錄下的bin目錄下的QQ.exe
這個執行程序, 當然這裡需要通過一些簡單的DOS命令
才可以進去, 不明白沒關系,後面會說到!
這裡我這裡的路徑為D:\騰訊軟件\QQ\Bin
那麼我先切換到D盤
,然後再使用cd命令
切換到D:\騰訊軟件\QQ\Bin
這個目錄下,最後執行一下QQ.exe
如圖
嘿嘿 你驚奇的發現居然打開了QQ
程序, 是不是感覺很zb! 這個效果跟你在點擊圖標去打開是一個效果, 沒有任何區別!
那如果本次都叫你用這種去慢慢輸入路徑的方式打開 萬一路徑很長很復雜那豈不是你要瘋掉!, 當然這裡只是舉個梨子,讓你更好的理解為什麼要配置環境變量
你完全可以使用桌面圖標來打開這些應用程序!
而且你如果關掉cmd
後重新打開,再次輸入QQ
其實又是同樣的問題,這就意味著你要從cmd
打開QQ必須每次按照剛才的步驟進行打開,並且你還必須要切換到這個QQ
的bin
目錄下才行,這樣就很麻煩了, 也不利於你zb!
那麼有沒有辦法讓我們在隨便哪個目錄中都可以直接使用cmd
輸入一個QQ
就可以打開的辦法呢?
現在就是使用環境變量
的時候了!
其實很簡單你只要把剛剛那個bin目錄
的路徑添加到環境變量
的系統變量
下的path
中就可以了
這裡的path
也就是環境變量
中用來指定可執行文件
的絕對路徑
,這裡配置了很多很多路徑,彼此之間用分號隔開!
具體操作這裡以win10
為例,步驟如下:
點擊此電腦---->右鍵(選擇屬性)----->點擊高級系統設置------>點擊(環境變量)
如圖
然後找到系統變量
下的path
點擊編輯
如圖
然後點擊新建
然後復制你的QQ
安裝目錄下的bin
路徑, 我的路徑如下圖
也就是復制D:\騰訊軟件\QQ\Bin
到新建的對話框中
最後全部點擊確定即可!
然後你就可以在cmd
中的任意目錄 任意盤符下進行打開這個應用程序了!
通過這個小案例 你應該對環境變量有一點點初步的認識了吧!
小結
環境變量
的主要作用就是規定了某些系統文件所在的位置!
概述
在上面的環境變量
介紹中,我們看到可以通過配置一些路徑從而達到在cmd
命令行中快速啟動應用程序!
但是眼尖的朋友可能已經發現,環境變量
的配置中被分為了 用戶變量
和系統變量
他們分別又是什麼意思呢?
在環境變量
中的用戶變量
配置只會當前所登錄的系統用戶生效, 也就是說登錄的系統用戶可以對他自己所配置的環境變量
參數進行增刪改 , 不同用戶的用戶變量之間是獨立存在的,並且互不干擾的
在環境變量
中系統變量
的配置會對所有用戶都會有效, 也就是說如果系統變量
被修改了,那麼任何一個用戶都將受到影響!
但是只有管理員賬戶才有權限進行系統變量
的設置, 普通系統用戶是不能夠去修改系統變量
的, 當然一般情況下你通常都是使用的系統管理員賬戶進行windows
系統的登錄的
所以平常我們在自己的電腦系統中去配置環境變量
的時候,不管你是配置在用戶變量
還是系統變量
基本上還是沒有什麼區別!
用戶變量
和系統變量
我們可以用一張圖來進行表示!
如圖
看到了吧,不同用戶的用戶變量
之間是並列獨立的, 但是如果說系統變量
被修改了,那麼任何系統用戶級別都會用系統變量
,因此每個用戶都將受到影響
所以說系統變量
就是系統級別
的變量,影響范圍最大, 而用戶變量
是建立在系統變量
之前的獨立存在, 它需要使用系統變量
, 而我們所指的環境變量
則是是一個整體,它裡面就代表了系統變量
和用戶變量
所以用戶變量
和系統變量
的區別就是他們的級別不一樣!
當我們想通過cmd
來運行一個自己定義的命令時,就會出現不是內部或外部命令,也不是可運行的程序 或批處理文件
的提示信息!
但是如果我們在cmd
中輸入一個shutdown
命令則可以完全正常執行!
如圖
這個原因也很簡單,正因為shutdown
在環境變量中定義了它這個命令所在的路徑,而test
這個命令則沒有!
shutdown命令
的默認路徑是在C:\Windows\System32
目錄下, 包括一些常見的cmd
命令其實都在這個目錄下
如圖
而C:\Windows\System32
這個路徑也是默認安裝系統的時候就被定義在了環境變量
當中, 就跟之前定義QQ
應用程序也是一個道理!
如圖
所以根據這個道理我們也可以自定義一個環境變量
來進行調用!
要知道變量、變量
就是一個可變化的量
我們就利用這個特點來自己定義一個系統變量
然後調用它來打開某個應用程序!
舉個梨子
我這裡要打開微信,當然你完全可以依照之前的辦法在path
中把微信的WeChat.exe
路徑加入到其中, 但是這樣子做不夠靈活!
我們可以先在系統變量中定義一個weixin
然後值
設置為微信目錄地址!
我的地址為:D:\騰訊軟件\WeChat
選擇系統變量
點擊新建
輸入變量名
和值
變量名
英文即可!
值
就是微信的路徑
如圖
設置好了之後,我們現在就可以對它進行調用!
然後再path
中把剛剛自定義好的weixin
這個變量加入到其中,格式為%變量名%
如圖
這樣一來以後你只需要去修改變量
的值 path
中就會自動獲取到了!
接下來就可以去cmd
中嘗試一下打開這個應用程序吧!
所以通過以上的操作,只要是在cmd
中去執行的應用,其位置均儲存在環境變量
目錄值中,我們在執行cmd
中的應用時,其實就是在遍歷環境變量
所有應用程序的位置, 並且查看其中有沒有該程序!
如果沒有就會提示未找到
這種信息,如果在環境變量
中找到了你在cmd
中輸入的命令,那麼通過環境變量
就可以直接去找到該程序並且執行!
知道什麼是環境變量
以後,現在應該明白我們在開發java、python、php
之前需要配置的環境變量的原因了吧
舉個梨子
比如Java
我們就需要把JDK
的bin目錄
添加到環境變量
的path
中,這樣我們就可以在任意目錄下使用bin
下面的.exe可執行程序,javac.exe、java.exe
javac.exe
用來處理.java
源代碼文件,是把源代碼文件編譯
為字節碼文件
的一個工具,經過javac.exe
這個工具編譯java源代碼文件
後形成的.class
就是字節碼文件
java.exe
用來處理.class字節碼文件
進行執行的,也就是JVM
解釋執行java
程序, 從而實現java
程序的運行
而他們都在bin
目錄下, 這都是為了能夠方便的使用這些開發語言所帶有的編譯解釋工具和命令, 所以我們才要配置環境變量
如圖
要知道這也正是很多新手朋友剛剛入門java
的一個難題, 如果環境變量
配置不成功,在cmd
中去輸入java
就會提示找不到某某
的關鍵詞 對吧!
然而java
的應用程序開發包就在安裝JDK
目錄下面的bin
目錄中, 並且所有跟Java
相關的工具都在bin
目錄中!
所以在開始學習java
或者其他一些開發語言的時候,為了操作方便必須要配置一下環境變量
從而達到能夠正常運行java
的環境, 其他一些語言也是以此類推!
既然我們知道了環境變量
中的path
可以被系統自動檢索,那麼我們就也利用這個特點來做一些配置!
舉個梨子
我們可以指定某個文件夾下的所有.exe
執行程序都可以直接在命令行終端
裡輸入其名稱,並且直接打開!
你可以提前准備好一些.exe程序
,並放入到一個tools
的目錄中,比如你把這個目錄建立在D:盤
下
如圖
然後你只需要把這個D:\tools
路徑配置到環境變量
的path
當中
如圖
現在就可以通過命令行終端
直接輸入其執行程序的名稱來直接打開了!
如圖
但是這種辦法 可能會有一些弊端, 因為有些.exe執行程序
你拷貝到另外的文件夾是無法被正常打開的!
既然是環境變量
我們就要用變量
的特性來解決這個問題, 也就是用變量訪問
指定文件夾列表的方式!
我們可以在系統變量
當中自定義一個變量名
為TOOLS
那麼它的值為如下
D:\Microsoft VS Code;D:\PotPlayer64;D:\Typora;D:\ReNamer;D:\Bandizip
也就是我們把vscode、PotPlayer、typora、renamer、bandizip
這幾種應用的路徑
都賦值到一個變量
當中
如圖
注意:
第一次輸出的時候,需要這樣進行輸入,以後再添加直接點擊編輯就可以了
也就是以下這個樣子
也就是把多個路徑映射
到一個變量
上
然後再把這個TOOLS
變量添加到系統變量
中的Path
下, 加入的格式就為%自定義的變量名%
如圖
這樣子我們就可以通過終端命令行
來快速啟動這些應用了, 當然前提你要知道這些應用執行程序的名稱!
如圖
看到這裡了想必你已經對環境變量
也應該有一個基本的認識了吧,也不會對環境變量
的配置感到復雜了!
環境變量
還有更多的玩法,也期待小伙伴勇於去發現其中的奧秘!
"點贊""️評論""收藏️"