Linux - 環境變數
阿新 • • 發佈:2018-12-25
理解環境變數(僅供參考)
環境變數在系統啟動時進行讀取和載入,或者說是在命令列工具啟動時,因為Mac的bash,Windows的cmd.exe在啟動時都會載入環境變數。
當我們執行命令時,系統會從名為PATH的環境變數中獲取目錄集。然後從這些目錄中查詢並執行程式。例如輸入vim xxx.txt
,系統則從/usr/bin中找到vim程式並啟動。例如我們輸入ls
,系統則從/bin中找到ls程式並啟動。Linux預設的系統變數有/usr/local/bin
、/usr/bin
、/bin
、/usr/sbin
、/sbin
,而我們常用的命令程式分佈在這些目錄下,例如:
- ls, pwd, mv, rm等放置在/bin中
- man, grep,vim等放置在/usr/bin中
- brew, wget等放置在/usr/local/bin中
至於什麼目錄下放置什麼型別的命令,不做深入的探究。
修改環境變數(僅供參考)
環境變數配置在指定的系統檔案中,系統啟動時將載入這些檔案,經過實踐,發現以下檔案會被載入:
/etc/profile(系統)
~/.profile(當前使用者下有效)
~/.bash_profile(當前使用者下有效)
在這些檔案中,優先順序從低到高,後者覆蓋前者,如下:
- 如果1,2,3都存在變數V分別等於ABC,那麼最終V為C。
- 如果1,2存在變數V分別等於AB,那麼最終V為B。
- 如果2,3存在變數V分別等於BC,那麼最終V為C。
既然系統啟動時就會自動載入這些檔案匯出到環境變數中,那麼我們就可以直接修改這些檔案內容來達到實現修改環境變數的目的。
通常所說的修改環境變數,說的是修改PATH變數,例如在安裝JDK,Maven之後需要修改環境變數,說的是需要將JDK或Maven安裝後的mvn或java,javac等程式所在的目錄新增到PATH變數中去。
例:JAVA_HOME的新增
假設我們直接將JAVA_HOME配置在優先順序最高的~/.bash_profile中,那麼步驟如下:
- 開啟~/.bash_profile
vi ~/.bash_profile
- 新增JAVA_HOME變數並修改PATH變數
export JAVA_HOME=/xxx/xxx/jdk-1.8.0/
export PATH=$PATH:$JAVA_HOME/bin
- 儲存後手動載入環境配置
為了讓環境變數立馬生效,需要通過source命令載入環境變數,如下:
source ~/.bash_profile
檢視環境變數
有兩種方式,如下:
- 執行命令
env
,將列出所有環境變數 - 執行命令
echo $PATH
,輸出PATH變數值
(完)