Linux環境變數總結
- 2019 年 10 月 4 日
- 筆記
個人部落格:https://suveng.github.io/blog/
Linux環境變數總結
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 1>:<PATH 2>:<PATH 3>:——–:< 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()清除一個環境變數。