LINUX 環境變數總結中……

來源:互聯網
上載者:User

我們在Linux下安裝系統軟體的時候,經常遇到一些系統內容變數配置的問題。什麼是環境變數?如何定製環境變數?我將在下面做一些介紹。

一、 什麼是環境變數?
Linux是一個多使用者的作業系統。多使用者意味著每個使用者登入系統後,都有自己專用的運行環境。而這個環境是由一組變數所定義, 這組變數被稱為環境變數。使用者可以對自己的環境變數進行修改以達到對環境的要求。

二、定製環境變數
環境變數是和Shell緊密 相關的,它是通過Shell命令來設定的。環境變數又可以被所有目前使用者所啟動並執行程式所使用。對於bash來說,可以通過變數名來訪問相應的環境變數。
下 面通過幾個執行個體來說明

1.顯示環境變數HOME
$ echo $HOME
/home/admin

2. 設定一個新的環境變數NAME
$ export NAME=RaidCheng
$ echo $NAME
RaidCheng

3. 使用env命令顯示所有的環境變數
$ env
HOSTNAME=test
TERM=vt100
SHELL=/bin/bash
HISTSIZE=1000
SSH_CLIENT=202.xxx.xxx.xxx 53694 22
CATALINA_BASE=/usr/local/jakarta-tomcat
SSH_TTY=/dev/pts/0
ANT_HOME=/usr/local/ant
JAVA_OPTS=-server
USER=admin

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
CATALINA_BASE=/usr/local/jakarta-tomcat
CATALINA_HOME=/usr/local/jakarta-tomcat

5. 使用unset命令來清除環境變數
$ export NAME=RaidCheng
$ echo $NAME
RaidCheng
$ unset NAME
$ echo $NAME

6. 使用readonly命令設定唯讀變數
$ export NAME=RaidCheng
$ readonly NAME
$ unset NAME
-bash: unset: NAME: cannot unset: readonly variable
$ NAME=New # 會發現此也變數不能被修改
-bash: TEST: readonly variable

三、常見的環境變數
PATH       決定了shell將到哪些目錄中尋找命令或程式
HOME      目前使用者主目錄
HISTSIZE    記錄數
LOGNAME      目前使用者的登入名稱
HOSTNAME    指主機的名稱
SHELL      前使用者Shell類型
LANGUGE      語言相關的環境變數,多語言可以修改此環境變數
MAIL      目前使用者的郵件存放目錄
PS1       基本提示符, 對於root使用者是#,對於普通使用者是$
PS2       附屬提示符,預設是“>”

四、通過C程式來訪問和設定環境變 量
對於C程式的使用者來說,可以使用下列三個函數來設定或訪問一個環境變數。

getenv()訪問一個環境變數。輸入參數是需 要訪問的變數名字,傳回值是一個字串。如果所訪問的環境變數不存在,則會返回NULL

setenv()在程式裡面設定某個環境變數的函 數

unsetenv()清除某個特定的環境變數的函數

另外,還有一個指標變數environ,它指向的是包含所有的環境 變數的一個列表。下面的程式可以列印出當前運行環境裡面的所有環境變數:

#include
extern char**environ;
int main ()
{
char**var;
for (var =environ;*var !=NULL;++var)
printf (%s /n ,*var);
return 0;
}

五、 環境變數檔案
通過修改一些相關的環境定義檔案來修改環境變數,比如對於RedHat,與環境相關的檔案有/etc/profile和~ /.bash_profile等。修改完畢後重新登入一次或運行命令source xxx就生效了。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.