-
1 # A鵬皓科技
-
2 # Go語言中文網
很多新手,對於環境變數是很迷糊的,所以配置更是不會。而很多教程只是簡單的告知怎麼配置環境變數,所以,新手跟著做了,遇到問題也沒法自己解決!這裡我就詳細的講解一下環境變數相關的知識,我相信看完後,環境變數配置再也不會是問題。
什麼是環境變數從字面意思可以看出,「環境變數」就是用來控制系統或程序操作環境的引數。
引用「百度百科」關於環境變數的定義:
環境變數(environment variables)一般是指在作業系統中用來指定作業系統執行環境的一些引數,如:臨時資料夾位置和系統資料夾位置等。環境變數是在作業系統中一個具有特定名字的物件,它包含了一個或者多個應用程式所將使用到的資訊。例如Windows和DOS作業系統中的path環境變數,當要求系統執行一個程式而沒有告訴它程式所在的完整路徑時,系統除了在當前目錄下面尋找此程式外,還應到path中指定的路徑去找。使用者透過設定環境變數,來更好的執行程序。以上其實只是說到了環境變數的一個用途:被作業系統使用。實際上,程序也可以用到環境變數,而且實際中也會經常使用。
環境變數的作用我們從作業系統和程序兩個維度來談環境變數的作用。
1. 作業系統
一般來說,作業系統暴露一些屬性,允許使用者透過它來控制一定的行為。比如常見的 PATH 環境變數,就是告知作業系統,執行程式時,去哪裡查詢。從這裡可以知道,為什麼我們在安裝完語言開發環境時,經常會有一個步驟,是配置 PATH 環境變數,目的就是為了能夠更好的找到它。
比如,Go安裝在 /usr/local/go/ 目錄下,我們想要編譯 Go 程式,如 go build,那麼系統怎麼知道 go 這個命令在哪裡呢?我們可以這麼寫:/usr/local/go/bin/go build,這樣完全不依賴環境變數;但這樣太囉嗦,不方便。如果我們配置了 :
export PATH=$PATH:/usr/local/go/bin
那麼,我們可以在系統任何地方,直接 go build ,系統都能找到 go 命令。你理解了嗎?
2. 程序
一般而言,程序啟動時,會從父程序繼承環境變數。環境變數有什麼用呢?比如,我們開發一個 Web 服務,我們需要監聽埠,埠號一般有如下幾種方式:
1)硬編碼;2)從配置中讀取;3)從環境變數中讀取;
透過環境變數,可以控制程序的一些行為。
如何配置環境變數我們以配置 PATH 環境變數為例,需要區分不同系統:Windows 和 Unix 來介紹如何配置。另外,環境變數還涉及到永遠有效和臨時有效的問題。
1. Windows
臨時設定環境變數。在 cmd 下,透過 set PATH=%PATH%;C:\Go\bin ,這樣設定後,只在當前 cmd 視窗有效。
永久設定環境變數。右擊“我的電腦”->屬性->高階->環境變數,在彈出的視窗配置即可。詳情可以參考:https://jingyan.baidu.com/article/47a29f24610740c0142399ea.html
2. Unix(以 Linux 為例)
臨時設定環境變數。在 shell 終端,透過 export PATH=$PATH:/usr/local/go/bin ,這樣設定後,只在當前 shell 終端有效。
永久設定環境變數。這裡涉及到登入系統後,系統會執行哪些配置檔案。一般的,我們會放置到 /etc/bashrc 中,在該檔案最後加上:
export PATH=$PATH:/usr/local/go/bin
這樣就永久有效了。
另外,對於程序需要的環境變數,我們可以在啟動程序的時候給它,比如:
PORT=8080 ./httpserver
這樣,在 httpserver 的程式碼中,可以獲取到 PORT 環境變數的值。
總結環境變數是很基礎的知識,我們不僅要知道怎麼配置,更應該懂的它是什麼,有什麼用,這樣我們自然就自動怎麼配置了。
回覆列表
首先安裝jdk,如果安裝好,找到安裝目錄,比如我的,C:\Java\jdk1.7.0_55。第一步:新增變數JAVA_HOME,值等於C:\Java\jdk1.7.0_55。第二步:在PATH變數的值後面追加:;%JAVA_HOME%\bin(注意用“;”隔開)第三步:新增變數CLASSPATH,值等於.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar。(注意最前面有“.”,表示當前路徑,不要遺漏,不然會報錯。)安裝好之後測試下,在命令列中,輸入java -version,如能顯示相關資訊,即表示配置成功