Linux環境變數的設定和檢視方法

ForTechnology發表於2013-02-22
1. 顯示環境變數HOME

  $ echo $HOME

  /home/redbooks

  2. 設定一個新的環境變數hello

  $ export HELLO="Hello!"

  $ echo $HELLO

  Hello!

  3. 使用env命令顯示所有的環境變數

  $ env

  HOSTNAME=redbooks.safe.org

  PVM_RSH=/usr/bin/rsh

  Shell=/bin/bash

  TERM=xterm

  HISTSIZE=1000

  ...

  4. 使用set命令顯示所有本地定義的Shell變數

  $ set

  BASH=/bin/bash

  BASH_VERSINFO=([0]="2"[1]="05b"[2]="0"[3]="1"[4]="release"[5]="i386-redhat-linux-gnu")

  BASH_VERSION='2.05b.0(1)-release'

  COLORS=/etc/DIR_COLORS.xterm

  COLUMNS=80

  DIRSTACK=()

  DISPLAY=:0.0

  ...

  5. 使用unset命令來清除環境變數

  set可以設定某個環境變數的值。清除環境變數的值用unset命令。如果未指定值,則該變數值將被設為NULL。示例如下:

  $ export TEST="Test..." #增加一個環境變數TEST

  $ env|grep TEST #此命令有輸入,證明環境變數TEST已經存在了

  TEST=Test...

  $ unset $TEST #刪除環境變數TEST

  $ env|grep TEST #此命令沒有輸出,證明環境變數TEST已經存在了

  6. 使用readonly命令設定只讀變數

  如果使用了readonly命令的話,變數就不可以被修改或清除了。示例如下:

  $ export TEST="Test..." #增加一個環境變數TEST

  $ readonly TEST #將環境變數TEST設為只讀

  $ unset TEST #會發現此變數不能被刪除

  -bash: unset: TEST: cannot unset: readonly variable

  $ TEST="New" #會發現此也變數不能被修改

  -bash: TEST: readonly variable

  環境變數的設定位於/etc/profile檔案

  如果需要增加新的環境變數可以新增下屬行

  export path=$path:/path1:/path2:/pahtN

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

  1.Linux的變數種類

  按變數的生存週期來劃分,Linux變數可分為兩類:

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

  1.2 臨時的:使用export命令宣告即可,變數在關閉shell時失效。

  2.設定變數的三種方法

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

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

  例如:編輯/etc/profile檔案,新增CLASSPATH變數

  # vi /etc/profile

  export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib

  注:修改檔案後要想馬上生效還要執行# source /etc/profile不然只能在下次重進此使用者時生效。

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

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

  例如:編輯guok使用者目錄(/home/guok)下的.bash_profile

  $ vi /home/guok/.bash.profile

  新增如下內容:

  export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib

  注:修改檔案後要想馬上生效還要執行$ source /home/guok/.bash_profile不然只能在下次重進此使用者時生效。

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

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

  3.環境變數的檢視

  3.1 使用echo命令檢視單個環境變數。例如:

  echo $PATH

  3.2 使用env檢視所有環境變數。例如:

  env

  3.3 使用set檢視所有本地定義的環境變數。

  unset可以刪除指定的環境變數。

  4.常用的環境變數

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

  HOME 當前使用者主目錄

  HISTSIZE 歷史記錄數

  LOGNAME 當前使用者的登入名

  HOSTNAME 指主機的名稱

  SHELL   當前使用者Shell型別

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

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

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

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25897606/viewspace-754588/,如需轉載,請註明出處,否則將追究法律責任。

相關文章