Linux系統中的環境變數知識詳解__Linux

來源:互聯網
上載者:User

對於沒有使用過linux系統的使用者來說,有很多術語和功能都很陌生。本文就介紹了linux系統中的環境變數的相關知識,具體內容如下所述。

linux是一個多使用者的作業系統。每個使用者登入系統後,都會有一個專用的運行環境。通常每個使用者預設的環境都是相同的,這個預設環境實際上就是一組環境變數的定義。使用者可以對自己的運行環境進行定製,其方法就是修改相應的系統內容變數。

什麼是環境變數

環境變數是一個具有特定名字的對象,它包含了一個或者多個應用程式所將使用到的資訊。許多使用者(特別是那些剛接觸Linux的新手)發現這些變數有些怪異或者難以控制。其實,這是個誤會:通過使用環境變數,你可以很容易的修改一個牽涉到一個或多個應用程式的配置資訊。

重要的例子

下表羅列了一些Linux系統使用的變數並說明了它們的用處。在表格後面將列舉一些變數例值。

變數說明

PATH這個變數包含了一系列由冒號分隔開的目錄,系統就從這些目錄裡尋找可執行檔。如果你輸入的可執行檔(例如ls、rc-update或者emerge)不在這些目錄中,系統就無法執行它(除非你輸入這個命令的完整路徑,如/bin/ls)。

ROOTPATH這個變數的功能和PATH相同,但它只羅列出超級使用者(root)鍵入命令時所需檢查的目錄。

LDPATH這個變數包含了一系列用冒號隔開的目錄,動態連結器將在這些目錄裡尋找庫檔案。

MANPATH這個變數包含了一系列用冒號隔開的目錄,命令man會在這些目錄裡搜尋man頁面。

INFODIR這個變數包含了一系列用冒號隔開的目錄,命令info將在這些目錄裡搜尋info頁面。

PAGER這個變數包含了瀏覽檔案內容的程式的路徑(例如less或者more)。

EDITOR這個變數包含了修改檔案內容的程式(檔案編輯器)的路徑(比如nano或者vi)。

KDEDIRS這個變數包含了一系列用冒號隔開的目錄,裡面放的是KDE相關的資料。

CONFIG_PROTECT這個變數包含了一系列用空格隔開的目錄,它們在更新的時候會被Portage保護起來。

CONFIG_PROTECT_MASK這個變數包含了一系列用空格隔開的目錄,它們在更新的時候不會被Portage保護起來。

下面你可以找到所有這些變數定義的範例:

代碼1:定義範例

 PATH="/bin:/usr/bin:/usr/local/bin:/opt/bin:/usr/games/bin"    ROOTPATH="/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin"    LDPATH="/lib:/usr/lib:/usr/local/lib:/usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.3"    MANPATH="/usr/share/man:/usr/local/share/man"    INFODIR="/usr/share/info:/usr/local/share/info"    PAGER="/usr/bin/less"    EDITOR="/usr/bin/vim"    KDEDIRS="/usr"    CONFIG_PROTECT="/usr/X11R6/lib/X11/xkb/opt/tomcat/conf"    /usr/kde/3.1/share/config/usr/share/texmf/tex/generic/config/"     /usr/share/texmf/tex/platex/config//usr/share/config"     CONFIG_PROTECT_MASK="/etc/gconf"    

對於bashshell

關於環境變數命令介紹:

1.echo顯示某個環境變數值echo$PATH

2.export設定一個新的環境變數exportHELLO="hello"(可以無引號)

3.env顯示所有環境變數

4.set顯示本地定義的shell變數

5.unset清除環境變數unsetHELLO

6.readonly設定唯讀環境變數readonlyHELLO

常見的環境變數

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

HOME:目前使用者主目錄

MAIL:是指目前使用者的郵件存放目錄。

SHELL:是指目前使用者用的是哪種Shell。

HISTSIZE:是指儲存曆史命令記錄的條數

LOGNAME:是指目前使用者的登入名稱。

HOSTNAME:是指主機的名稱,許多應用程式如果要用到主機名稱的話,通常是從這個環境變數中來取得的。

LANG/LANGUGE:是和語言相關的環境變數,使用多種語言的使用者可以修改此環境變數。

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

PS2:是附屬提示符,預設是“>”。可以通過修改此環境變數來修改當前的命令符,比如下列命令會將提示符修改成字串“Hello,MyNewPrompt:)”。

#PS1="Hello,MyNewPrompt:)"

使用修改.bashrc檔案進行環境變數的編輯,只對目前使用者有用。

使用修改/etc/profile檔案進行環境變數的編輯,是對所有使用者有用。大家一定要注意區別。

如何設定Shell環境變數?

Shell 設定 添加 去除 顯示當前值 註解
sh NAME=value1
export NAME
NAME=value2:$NAME unset NAME set(internal)或者env(exported) 如果需要子進程也看到該環境變數,需要使用export
ksh NAME=value1
export NAME
NAME=value2:$NAME unset NAME set(internal)或者env(exported) 如果需要子進程也看到該環境變數,需要使用export
csh setenv NAME value1 setenv NAME value2:$NAME unsetenv NAME set 不需要使用export
bash NAME=value1 NAME=value2:$NAME unset NAME set或者env 如果需要子進程也看到該環境變數,需要使用export

總結:

希望本文 介紹的Linux系統中的環境變數的知識能夠對讀者有所協助,更多有關linux系統的知識還有待於讀者去探索和學習。

摘自:http://os.51cto.com/art/201108/285338.htm

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.