Linux是一個多用戶多任務的操作系統,可以在Linux中為不同的用戶設置不同的運行環境,具體做法是設置不同用戶的環境變量。
Linux環境變量分類
一、按照生命周期來分,Linux環境變量可以分為兩類:
1、永久的:需要用戶修改相關的配置文件,變量永久生效。
2、臨時的:用戶利用export命令,在當前終端下聲明環境變量,關閉Shell終端失效。
二、按照作用域來分,Linux環境變量可以分為:
1、系統環境變量:系統環境變量對該系統中所有用戶都有效。
2、用戶環境變量:顧名思義,這種類型的環境變量只對特定的用戶有效。
Linux設置環境變量的方法
一、在/etc/profile文件中添加變量對所有用戶生效(永久的)
用vim在文件/etc/profile文件中增加變量,該變量將會對Linux下所有用戶有效,并且是“永久的”。
例如:編輯/etc/profile文件,添加CLASSPATH變量
vim /etc/profile
export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib
注:修改文件后要想馬上生效還要運行source /etc/profile不然只能在下次重進此用戶時生效。
二、在用戶目錄下的.bash_profile文件中增加變量【對單一用戶生效(永久的)】
用vim ~/.bash_profile文件中增加變量,改變量僅會對當前用戶有效,并且是“永久的”。
vim ~/.bash.profile
export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib
注:修改文件后要想馬上生效還要運行$ source ~/.bash_profile不然只能在下次重進此用戶時生效。
三、直接運行export命令定義變量【只對當前shell(BASH)有效(臨時的)】
在shell的命令行下直接使用export 變量名=變量值
定義變量,該變量只在當前的shell(BASH)或其子shell(BASH)下是有效的,shell關閉了,變量也就失效了,再打開新shell時就沒有這個變量,需要使用的話還需要重新定義。
Linux環境變量使用
一、Linux中常見的環境變量有:
PATH:指定命令的搜索路徑
PATH聲明用法:
PATH=$PAHT::::--------:< PATH? n >
export PATH
你可以自己加上指定的路徑,中間用冒號隔開。環境變量更改后,在用戶下次登陸時生效。
可以利用echo $PATH查看當前當前系統PATH路徑。
HOME:指定用戶的主工作目錄(即用戶登陸到Linux系統中時,默認的目錄)。
HISTSIZE:指保存歷史命令記錄的條數。
LOGNAME:指當前用戶的登錄名。
HOSTNAME:指主機的名稱,許多應用程序如果要用到主機名的話,通常是從這個環境變量中來取得的
SHELL:指當前用戶用的是哪種Shell。
LANG/LANGUGE:和語言相關的環境變量,使用多種語言的用戶可以修改此環境變量。
MAIL:指當前用戶的郵件存放目錄。
注意:上述變量的名字并不固定,如HOSTNAME在某些Linux系統中可能設置成HOST
二、Linux也提供了修改和查看環境變量的命令,下面通過幾個實例來說明:
echo? ? ? ? 顯示某個環境變量值 echo $PATH
export? 設置一個新的環境變量 export HELLO="hello" (可以無引號)
env? ? ? 顯示所有環境變量
set? ? ? 顯示本地定義的shell變量
unset? ? ? ? 清除環境變量 unset HELLO
readonly? ? 設置只讀環境變量 readonly HELLO
三、C程序調用環境變量函數
getenv()返回一個環境變量。
setenv()設置一個環境變量。
unsetenv()清除一個環境變量。
作者:Manfred_Zone
鏈接:http://www.lxweimin.com/p/ac2bc0ad3d74
來源:簡書
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。