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()清除一個環境變數。