Linux環境變量總結

Linux是一個多用戶多任務的操做系統,能夠在Linux中爲不一樣的用戶設置不一樣的運行環境,具體作法是設置不一樣用戶的環境變量。html

Linux環境變量分類

1、按照生命週期來分,Linux環境變量能夠分爲兩類:
一、永久的:須要用戶修改相關的配置文件,變量永久生效。
二、臨時的:用戶利用export命令,在當前終端下聲明環境變量,關閉Shell終端失效。linux

2、按照做用域來分,Linux環境變量能夠分爲:
一、系統環境變量:系統環境變量對該系統中全部用戶都有效。
二、用戶環境變量:顧名思義,這種類型的環境變量只對特定的用戶有效。shell

Linux設置環境變量的方法

1、在/etc/profile文件中添加變量 對全部用戶生效(永久的)
用vim在文件/etc/profile文件中增長變量,該變量將會對Linux下全部用戶有效,而且是「永久的」。
例如:編輯/etc/profile文件,添加CLASSPATH變量vim

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

注:修改文件後要想立刻生效還要運行source /etc/profile否則只能在下次重進此用戶時生效。
2、在用戶目錄下的.bash_profile文件中增長變量 【對單一用戶生效(永久的)】
vim ~/.bash_profile文件中增長變量,改變量僅會對當前用戶有效,而且是「永久的」。bash

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

注:修改文件後要想立刻生效還要運行$ source ~/.bash_profile否則只能在下次重進此用戶時生效。
3、直接運行export命令定義變量 【只對當前shell(BASH)有效(臨時的)】
在shell的命令行下直接使用export 變量名=變量值
定義變量,該變量只在當前的shell(BASH)或其子shell(BASH)下是有效的,shell關閉了,變量也就失效了,再打開新shell時就沒有這個變量,須要使用的話還須要從新定義。函數

Linux環境變量使用

1、Linux中常見的環境變量有:ui

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

PATH聲明用法:
PATH=$PAHT:<PATH 1>:<PATH 2>:<PATH 3>:--------:< PATH n >
export PATH
你能夠本身加上指定的路徑,中間用冒號隔開。環境變量更改後,在用戶下次登錄時生效。
能夠利用echo $PATH查看當前當前系統PATH路徑。spa

  • HOME:指定用戶的主工做目錄(即用戶登錄到Linux系統中時,默認的目錄)。
  • HISTSIZE:指保存歷史命令記錄的條數。
  • LOGNAME:指當前用戶的登陸名。
  • HOSTNAME:指主機的名稱,許多應用程序若是要用到主機名的話,一般是從這個環境變量中來取得的
  • SHELL:指當前用戶用的是哪一種Shell。
  • LANG/LANGUGE:和語言相關的環境變量,使用多種語言的用戶能夠修改此環境變量。
  • MAIL:指當前用戶的郵件存放目錄。

注意:上述變量的名字並不固定,如HOSTNAME在某些Linux系統中可能設置成HOST操作系統

2、Linux也提供了修改和查看環境變量的命令,下面經過幾個實例來講明:命令行

  • echo 顯示某個環境變量值 echo $PATH
  • export 設置一個新的環境變量 export HELLO="hello" (能夠無引號)
  • env 顯示全部環境變量
  • set 顯示本地定義的shell變量
  • unset 清除環境變量 unset HELLO
  • readonly 設置只讀環境變量 readonly HELLO

3、C程序調用環境變量函數

  • getenv()返回一個環境變量。
  • setenv()設置一個環境變量。
  • unsetenv()清除一個環境變量。

參考文獻:
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

相關文章
相關標籤/搜索