Linux中修改環境變數及生效方法(永久、臨時)環境變數檢視

鶴鶴有明發表於2015-11-14

Linux中修改環境變數及生效方法如下:

方法一:  

在/etc/profile檔案中新增變數【對所有使用者生效(永久的)】  

用vim在檔案/etc/profile檔案中增加變數,該變數將會對Linux下所有使用者有效,並且是“永久的”。  

要讓剛才的修改馬上生效,需要執行以下程式碼  

# source /etc/profile  

  

方法二:  

在使用者目錄下的.bash_profile檔案中增加變數【對單一使用者生效(永久的)】  

用vim在使用者目錄下的.bash_profile檔案中增加變數,改變數僅會對當前使用者有效,並且是“永久的”。  

要讓剛才的修改馬上生效,需要在使用者目錄下執行以下程式碼  

# source .bash_profile  

  

方法三:  

直接執行export命令定義變數【只對當前shell(BASH)有效(臨時的)】  

在shell的命令列下直接使用[export  變數名=變數值]定義變數,該變數只在當前的shell(BASH)或其子shell(BASH)下是有效的shell關閉了,變數也就失效了,再開啟新shell時就沒有這個變數,需要使用的話還需要重新定義。  

 

例如:export PATH=/usr/local/webserver/php/bin:$PATH  

 

------------------------------------------------------------------------

按變數的生存週期來劃分,Linux變數可分為兩類,它們的修改方法如下:

 

(1)永久的:需要修改配置檔案,變數永久生效。

 

 常見的配置檔案包括:

(1-1) 

/etc/profile:對所有使用者生效;此檔案為系統的每個使用者設定環境資訊,當使用者第一次登入時,該檔案被執行;並從/etc/profile.d目錄的配置檔案中搜集shell的設定

 

 例如:編輯/etc/profile檔案,新增CLASSPATH變數
 # vim  /etc/profile
 新增一行:
 export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib

 

 修改後需要執行重新登入才能生效,也可以執行命令source /etc/profile來生效

 

 (1-2) 

 /etc/bashrc:對所有使用者生效;

為每一個執行bash shell的使用者執行此檔案.當bash shell被開啟時,該檔案被讀取。

 

 

 編輯方法如上,不再贅述

 

 

 (1-3) 

  ~/.bash_profile:僅會對當前使用者有效;

每個使用者都可使用該檔案輸入專用於自己使用的shell資訊,當使用者登入時,該檔案僅僅執行一次。

 

 

 例如:編輯yumh使用者目錄(/home/yumh)下的.bash_profile
 $ vim /home/yumh/.bash.profile
 新增如下內容:
 export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib
 修改後需要執行重新登入才能生效,也可以執行命令source /etc/profile來生效

 

 

 (1-4)

  ~/.bashrc:僅會對當前使用者有效;

該檔案包含專用於你的bash shell的bash資訊,當登入時以及每次開啟新的shell時,該該檔案被讀取。

 

 

 

 編輯方法如上,不再贅述


 另外,~/.bashrc等中設定的變數(區域性)只能繼承/etc/profile中的變數,他們是"父子"關係


 綜述,對上述檔案修改,新增你需要的變數,在啟動一個shell(終端,terminal)時,你所定義的變數均會生效的。

 

 

 

(2)臨時有效:

   使用export命令宣告即可,變數只在當前的shell(BASH)或其子shell(BASH)下是有效的,在關閉shell後失效,再開啟新shell時就沒有這個變數,需要使用的話還需要重新定義。

 在shell的命令列下直接使用[export 變數名=變數值] 定義變數


環境變數的檢視
(1)使用echo命令檢視單個環境變數。例如:
      echo $PATH
(2)使用env檢視所有環境變數。例如:
      env
 echo 
(3)使用set檢視所有本地定義的環境變數。例如:
      set
另外,unset可以刪除指定的環境變數。



常用的環境變數名稱(echo  變數名稱

 

PATH 決定了shell將到哪些目錄中尋找命令或程式

 

HOME 當前使用者主目錄

HISTSIZE 歷史記錄數

LOGNAME 當前使用者的登入名

HOSTNAME 指主機的名稱

SHELL 當前使用者Shell型別

LANGUGE 語言相關的環境變數,多語言可以修改此環境變數

MAIL 當前使用者的郵件存放目錄

PS1 基本提示符,對於root使用者是#,對於普通使用者是$

 

 

相關文章