很多新手,對于環境變量是很迷糊的,所以配置更是不會。而很多教程只是簡單的告知怎么配置環境變量,所以,新手跟著做了,遇到問題也沒法自己解決!這里我就詳細的講解一下環境變量相關的知識,我相信看完后,環境變量配置再也不會是問題。
什么是環境變量
從字面意思可以看出,「環境變量」就是用來控制系統或進程操作環境的參數。
引用「百度百科」關于環境變量的定義:
環境變量(environmentvariables)一般是指在操作系統中用來指定操作系統運行環境的一些參數,如:臨時文件夾位置和系統文件夾位置等。
環境變量是在操作系統中一個具有特定名字的對象,它包含了一個或者多個應用程序所將使用到的信息。例如Windows和DOS操作系統中的path環境變量,當要求系統運行一個程序而沒有告訴它程序所在的完整路徑時,系統除了在當前目錄下面尋找此程序外,還應到path中指定的路徑去找。用戶通過設置環境變量,來更好的運行進程。
以上其實只是說到了環境變量的一個用途:被操作系統使用。實際上,進程也可以用到環境變量,而且實際中也會經常使用。
環境變量的作用
我們從操作系統和進程兩個維度來談環境變量的作用。
1.操作系統
一般來說,操作系統暴露一些屬性,允許用戶通過它來控制一定的行為。比如常見的PATH環境變量,就是告知操作系統,運行程序時,去哪里查找。從這里可以知道,為什么我們在安裝完語言開發環境時,經常會有一個步驟,是配置PATH環境變量,目的就是為了能夠更好的找到它。
比如,Go安裝在/usr/local/go/目錄下,我們想要編譯Go程序,如gobuild,那么系統怎么知道go這個命令在哪里呢?我們可以這么寫:/usr/local/go/bin/gobuild,這樣完全不依賴環境變量;但這樣太啰嗦,不方便。如果我們配置了:
exportPATH=$PATH:/usr/local/go/bin
那么,我們可以在系統任何地方,直接gobuild,系統都能找到go命令。你理解了嗎?
2.進程
一般而言,進程啟動時,會從父進程繼承環境變量。環境變量有什么用呢?比如,我們開發一個Web服務,我們需要監聽端口,端口號一般有如下幾種方式:
1)硬編碼;2)從配置中讀取;3)從環境變量中讀取;
通過環境變量,可以控制進程的一些行為。
如何配置環境變量
我們以配置PATH環境變量為例,需要區分不同系統:Windows和Unix來介紹如何配置。另外,環境變量還涉及到永遠有效和臨時有效的問題。
1.Windows
2.Unix(以Linux為例)
exportPATH=$PATH:/usr/local/go/bin
這樣就永久有效了。
另外,對于進程需要的環境變量,我們可以在啟動進程的時候給它,比如:
PORT=8080./httpserver
這樣,在httpserver的代碼中,可以獲取到PORT環境變量的值。
總結
環境變量是很基礎的知識,我們不僅要知道怎么配置,更應該懂的它是什么,有什么用,這樣我們自然就自動怎么配置了。