Linux環(huán)境變量總結(jié)

Linux是一個多用戶多任務(wù)的操作系統(tǒng),可以在Linux中為不同的用戶設(shè)置不同的運(yùn)行環(huán)境,具體做法是設(shè)置不同用戶的環(huán)境變量。

Linux環(huán)境變量分類

一、按照生命周期來分,Linux環(huán)境變量可以分為兩類:
1、永久的:需要用戶修改相關(guān)的配置文件,變量永久生效。
2、臨時的:用戶利用export命令,在當(dāng)前終端下聲明環(huán)境變量,關(guān)閉Shell終端失效。

二、按照作用域來分,Linux環(huán)境變量可以分為:
1、系統(tǒng)環(huán)境變量:系統(tǒng)環(huán)境變量對該系統(tǒng)中所有用戶都有效。
2、用戶環(huán)境變量:顧名思義,這種類型的環(huán)境變量只對特定的用戶有效。

Linux設(shè)置環(huán)境變量的方法

一、在/etc/profile文件中添加變量 對所有用戶生效(永久的)
用vim在文件/etc/profile文件中增加變量,該變量將會對Linux下所有用戶有效,并且是“永久的”。
例如:編輯/etc/profile文件,添加CLASSPATH變量

  vim /etc/profile    
  export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib

注:修改文件后要想馬上生效還要運(yùn)行source /etc/profile不然只能在下次重進(jìn)此用戶時生效。
二、在用戶目錄下的.bash_profile文件中增加變量 【對單一用戶生效(永久的)】
vim ~/.bash_profile文件中增加變量,改變量僅會對當(dāng)前用戶有效,并且是“永久的”。

vim ~/.bash.profile
export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib

注:修改文件后要想馬上生效還要運(yùn)行$ source ~/.bash_profile不然只能在下次重進(jìn)此用戶時生效。
三、直接運(yùn)行export命令定義變量 【只對當(dāng)前shell(BASH)有效(臨時的)】
在shell的命令行下直接使用export 變量名=變量值
定義變量,該變量只在當(dāng)前的shell(BASH)或其子shell(BASH)下是有效的,shell關(guān)閉了,變量也就失效了,再打開新shell時就沒有這個變量,需要使用的話還需要重新定義。

Linux環(huán)境變量使用

一、Linux中常見的環(huán)境變量有:

  • PATH:指定命令的搜索路徑

PATH聲明用法:
PATH=$PAHT:<PATH 1>:<PATH 2>:<PATH 3>:--------:< PATH n >
export PATH
你可以自己加上指定的路徑,中間用冒號隔開。環(huán)境變量更改后,在用戶下次登陸時生效。
可以利用echo $PATH查看當(dāng)前當(dāng)前系統(tǒng)PATH路徑。

  • HOME:指定用戶的主工作目錄(即用戶登陸到Linux系統(tǒng)中時,默認(rèn)的目錄)。
  • HISTSIZE:指保存歷史命令記錄的條數(shù)。
  • LOGNAME:指當(dāng)前用戶的登錄名。
  • HOSTNAME:指主機(jī)的名稱,許多應(yīng)用程序如果要用到主機(jī)名的話,通常是從這個環(huán)境變量中來取得的
  • SHELL:指當(dāng)前用戶用的是哪種Shell。
  • LANG/LANGUGE:和語言相關(guān)的環(huán)境變量,使用多種語言的用戶可以修改此環(huán)境變量。
  • MAIL:指當(dāng)前用戶的郵件存放目錄。

注意:上述變量的名字并不固定,如HOSTNAME在某些Linux系統(tǒng)中可能設(shè)置成HOST

二、Linux也提供了修改和查看環(huán)境變量的命令,下面通過幾個實(shí)例來說明:

  • echo 顯示某個環(huán)境變量值 echo $PATH
  • export 設(shè)置一個新的環(huán)境變量 export HELLO="hello" (可以無引號)
  • env 顯示所有環(huán)境變量
  • set 顯示本地定義的shell變量
  • unset 清除環(huán)境變量 unset HELLO
  • readonly 設(shè)置只讀環(huán)境變量 readonly HELLO

三、C程序調(diào)用環(huán)境變量函數(shù)

  • getenv()返回一個環(huán)境變量。
  • setenv()設(shè)置一個環(huán)境變量。
  • unsetenv()清除一個環(huán)境變量。

參考文獻(xiàn):
http://www.2cto.com/os/201211/165769.html
http://www.linuxidc.com/Linux/2011-03/33197.htm
http://www.cnblogs.com/Neddy/archive/2011/03/01/1968018.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容