環境變數詳解
前言
每次在安裝開發環境的時候,比如JDK,Python等工具時,經常需要配置環境變數,環境變數到底是什麼,對於很多新手來,總是一副很神祕且高大上的感覺,所以往往難以理解和上手,給實際開發帶來一定的困難。本文就以最經常的PATH變數,對環境變數進行介紹。
什麼是環境變數
根據百度百科的定義,環境變數(environment variables)一般是指在作業系統中用來指定作業系統執行環境的一些引數,如臨時資料夾位置和系統資料夾位置等。
環境變數是在作業系統中一個具有特定名字的物件,它包含了一個或者多個應用程式所將使用到的資訊。例如Windows和DOS作業系統中的path環境變數,當要求系統執行一個程式而沒有告訴它程式所在的完整路徑時,系統除了在當前目錄下面尋找此程式外,還應到path中指定的路徑去找。使用者通過設定環境變數,來更好的執行程式。
PATH示例
這個解釋仍然有些抽象,讓我們通過PATH變數來看一個具體的例子。
首先,我們以Windows平臺準備一個DOS程式 hello.exe,功能很簡單隻輸出字串 “Hello, world!”,可以在這裡下載,也可以自己手工使用以下程式碼完成:
#include <stdio.h>
int main(){
printf("Hello, world!\n");
return 0;
}
現在我們把這個程式放在 C:\data\hello.exe
,然後開啟控制檯進入這個目錄,執行效果如下所示:
但是如果我們把當前路徑移動到D盤(或者任意其他位置)就會發現執行不了了。
提示的錯誤為找不到 hello
這個程式或命令。這是為什麼呢?答案是系統並不知道 hello.exe 在什麼地方,因為在我們執行程式時,系統預設會從當前目錄下來查詢,如果沒有的話,就會提示找不到。有同學可能會說,為什麼不從其他地方找?答案很簡單,就是效率。如果每次執行命令的時候都要從全盤查詢,那麼效能會非常低下。
那麼,是否可以無論在任何位置,當我們輸入 hello
時都會執行 C:\data\hello.exe
呢?答案是肯定的,這就是本文所要介紹的環境變數之PATH,這個環境變數的目的,就是告訴系統某些程式的位置,從而無論在哪裡執行都只要使用此命令即可執行。
設定方法
下面是一些不錯的文章,供大家參考:
- 在Windows下設定環境變數:Windows 10 設定環境變數
- 在Linux下設定環境變數:Ubuntu系統環境變數詳解,Linux新增環境變數
- Java的環境變數配置方法:JDK 安裝 Java環境變數配置 詳細教程
- 環境變數的一般解釋:環境變數
設定示例
如下所示,在設定完Windows下的環境變數後
我們再來執行命令(要重啟Dos視窗),即可正常執行
本文以 hello.exe
為例,實際上 Java, Python等都是這樣的原理。也就是說,為什麼我們可以在任意路徑下執行 java
、javac
或 python
,基原理非常簡單,就是配置了環境變數PATH,僅此而已。
除了PATH變數,常用環境變數有很多,具體可以參見此文:環境變數基礎知識。
小結
本文對環境變數的定義進行了解釋,並使用一個例項對變數進行了演示說明,同時提供了一個相關的資源文章,讓讀者能夠對環境變數有一個全面的瞭解。
相關文章
- .NET Core 環境變數詳解變數
- Cypress系列(14)- 環境變數詳解變數
- Golang環境變數設定詳解Golang變數
- Linux環境變數詳解與應用Linux變數
- 詳解vue-cli4環境變數與分環境打包方法Vue變數
- 環境變數變數
- Hyperledger Fabric 通道配置檔案和容器環境變數詳解變數
- Windows下Java環境變數的配置(詳)WindowsJava變數
- Linux 新增環境變數和刪除環境變數Linux變數
- 簡述SHELL全域性環境變數與局變環境變數變數
- Java 環境變數Java變數
- jdk環境變數JDK變數
- DOS環境變數變數
- env 環境變數變數
- 環境變數path變數
- Java環境變數Java變數
- ORACLE 環境變數Oracle變數
- postman環境變數Postman變數
- 配置環境變數變數
- 14_Linux環境變數講解Linux變數
- ubuntu JDK 環境變數UbuntuJDK變數
- 配置JDK環境變數JDK變數
- Flume 配置環境變數變數
- Shell配置環境變數變數
- Java環境變數新增Java變數
- 【Linux】環境變數!!!Linux變數
- Kaldi配置環境變數變數
- MySQL 環境變數配置MySql變數
- unix下環境變數 .變數
- Linux 環境變數Linux變數
- oracle 環境變數 redhatOracle變數Redhat
- 設定環境變數變數
- SQL*PLUS 環境變數SQL變數
- jdk環境變數配置JDK變數
- JDK配置環境變數JDK變數
- java環境變數配置Java變數
- java 配置環境變數Java變數
- windows配置環境變數Windows變數