Linux環境變量可以通過export實現,也可以通過修改幾個文件來實現
1 通過文件設置LInux環境變量
首先是設置全局環境變量,對所有用戶都會生效
/etc/profile
:該文件為系統的每個用戶設置環境信息,當用戶登錄時,該文件被執行一次,并從/etc/profile.d
目錄的配置文件中搜索shell的設置,一般用于設置所有用戶使用的全局變量
/etc/bashrc
:當bash shell被打開時,該文件被讀取,也就是說每次新打開一個終端shell,該文件就會被讀取
接著是與上述兩個文件對應,但是只對單個用戶生效
~/.bash_profile
或~/.profile
:只對單個用戶生效,當用戶登錄時該文件僅執行一次,用戶可以使用該文件添加自己使用的shell變量信息,另外在不同的linux操作系統下,這個文件可能是不同的,可能是~/.bash_profile
,~/.bash_login
或者~/.profile
,比如Ubuntu系統一般是~/.profile
文件
~/.bashrc
:只對單個用戶生效,當登錄以及每次打開新的shell時,該文件被讀取
此外,修改/etc/environment
這個文件也能實現環境變量的設置,/etc/environment
設置的也是全局變量,從文件本身的作用上來說,/etc/environment
設置的是整個系統的環境,而/etc/profile
是設置所有用戶的環境
注意:
- 使用
source /etc/environment
可以使變量設置在當前窗口立即生效,需注銷/重啟之后,才能對每個新的終端窗口都生效 /etc/environment
中不能包含命令,即直接通過VAR="…"的方式設置,不使用export
2 通過Shell命令export方式修改Linux環境變量
另外一種修改Linux環境變量的方式就是通過Shell命令export,注意變量名不要有美元 符$,賦值語句中才需要有:
export PATH=$PATH:/usr/local/hadoop/bin
export方式只對當前終端Shell有效,使用export設置的變量,只對當前終端Shell有效,也就是說如果新打開一個終端,那這個export設置的變量在新終端中是無法讀取到的,適合設置一些臨時變量
3 修改Linux環境變量實例
以Ubuntu為例,修改~/.profile
在最后加上代碼
PATH="$PATH:/usr/local/hadoop/bin"
由于這個文件是在用戶登錄時才讀取一次的,所以需要重啟才會生效(修改/etc/profile
,/etc/environment
也是如此),但也可以使用命令source ~/.profile
使其立即生效