hengheng123456789

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            297 Posts :: 68 Stories :: 144 Comments :: 0 Trackbacks

          我們在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就生效了。

          posted on 2006-08-30 11:59 哼哼 閱讀(343) 評論(0)  編輯  收藏 所屬分類: Linux
          主站蜘蛛池模板: 六枝特区| 赞皇县| 报价| 永川市| 峡江县| 吴川市| 延川县| 醴陵市| 屏南县| 鄂托克旗| 大厂| 镇原县| 新郑市| 通榆县| 洪湖市| 康乐县| 南京市| 龙游县| 娄底市| 威海市| 鄢陵县| 郸城县| 康定县| 迭部县| 淄博市| 安达市| 汉中市| 新乡市| 固阳县| 特克斯县| 佛冈县| 天柱县| 三亚市| 奉新县| 九龙城区| 治县。| 南雄市| 革吉县| 芮城县| 胶南市| 山阳县|