1、環(huán)境變量是目錄
環(huán)境變量是目錄,即訪問和調(diào)用命令或程序的目錄(路徑)。這個(gè)目錄里是各個(gè)命令文件和程序文件(或它們快捷鍵)的集合。(這里說的文件一般都是可執(zhí)行文件)。
在linux環(huán)境變量用PATH表示。$PATH:決定了shell將到哪些目錄中尋找命令或程序,PATH的值是一系列目錄,當(dāng)您運(yùn)行一個(gè)程序時(shí),Linux在這些目錄下進(jìn)行搜尋編譯鏈接。
多個(gè)路徑時(shí)中間用分號(hào)分隔。
export PATH=$PATH:路徑 或export PATH=路徑:$PATH
或者export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
注意:那個(gè)“$PATH”表示原先設(shè)定的路徑仍然有效,這里只是新增。如果只想新增的話,注意不要漏掉$PATH。
2、查看環(huán)境變量命令
查看環(huán)境變量可用命令:export。單獨(dú)查看PATH值用echo $PATH。
3、修改環(huán)境變量
1.? 臨時(shí)生效:添加PATH環(huán)境變量用:export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin。
查看時(shí)候添加成功再用:echo $PATH。此方法臨時(shí)生效,關(guān)閉終端修改就會(huì)消失。要想永久生效,需要把這行添加到環(huán)境變量文件里。
2.? 永久生效:修改用戶主家目錄下的.bashrc(即:~/.bashrc)。用戶主目錄下的“.bash_profile”只對(duì)這個(gè)用戶有效。對(duì)其他用戶無效。
在文件后添加:export PATH=$PATH:路徑
環(huán)境變量更改后,在用戶下次登陸時(shí)生效,如果想立刻生效,則可執(zhí)行下面的語句:source? .bash_profile。
3.? 永久有效:修改/etc/profile文件。所有用戶的環(huán)境變量。對(duì)所有用戶可用。
在文件最后行添加:export PATH=$PATH:路徑
要想立即生效用:source? /etc/profile。
4.? 永久有效:修改/etc/environment。系統(tǒng)的環(huán)境變量,對(duì)所有用戶可用。
在PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" 中加入“:路徑”
4、關(guān)于環(huán)境變量
環(huán)境變量區(qū)別:
~/.bashrc? 是單個(gè)用戶的環(huán)境變量
/etc/profile? 是所有用戶的環(huán)境變量
/etc/enviroment? 是系統(tǒng)的環(huán)境變量
1.~/.bashrc:該文件包含專用于當(dāng)前用戶的bash shell的bash信息。當(dāng)?shù)卿洉r(shí)以及每次打開新的shell時(shí),該該文件被讀取。
2.??對(duì)于用戶的shell初始化而言是先執(zhí)行/etc/profile,再讀取文件/etc/environment。
/etc/profile -->/etc/enviroment -->$HOME/.profile?? -->$HOME/.env(如果存在)
3.對(duì)整個(gè)系統(tǒng)而言是先執(zhí)行/etc/environment
/etc/enviroment --> /etc/profile --> $HOME/.profile? -->$HOME/.env (如果存在)
這應(yīng)該是用戶環(huán)境和系統(tǒng)環(huán)境的區(qū)別了。
4.??etc/profile和/etc/environment的比較
先將export LANG=zh_CN加入/etc/profile ,退出系統(tǒng)重新登錄,登錄提示顯示英文。
將/etc/profile 中的export LANG=zh_CN刪除,將LNAG=zh_CN加入/etc/environment,退出系統(tǒng)重新登錄,登錄提示顯示中文。
用戶環(huán)境建立的過程中總是先執(zhí)行/etc/profile然后在讀取/etc/environment。
應(yīng)該是先執(zhí)行/etc/environment,后執(zhí)行/etc/profile。
/etc/environment是設(shè)置整個(gè)系統(tǒng)的環(huán)境,而/etc/profile是設(shè)置所有用戶的環(huán)境,前者與登錄用戶無關(guān),后者與登錄用戶有關(guān)。
系統(tǒng)應(yīng)用程序的執(zhí)行與用戶環(huán)境可以是無關(guān)的,但與系統(tǒng)環(huán)境是相關(guān)的,所以當(dāng)你登錄時(shí),你看到的提示信息,像日期、時(shí)間信息的顯示格式與系統(tǒng)環(huán)境的LANG是相關(guān)的,缺省LANG=en_US,如果系統(tǒng)環(huán)境LANG=zh_CN,則提示信息是中文的,否則是英文的。