在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 定制Linux操作系統(tǒng)的環(huán)境變量

            定制Linux操作系統(tǒng)的環(huán)境變量

            作者: 時(shí)間:2011-02-25 來(lái)源:網(wǎng)絡(luò) 收藏

            Linux是一個(gè)多用戶的操作系統(tǒng)。每個(gè)用戶登錄系統(tǒng)后,都會(huì)有一個(gè)專用的運(yùn)行環(huán)境。通常每個(gè)用戶默認(rèn)的環(huán)境都是相同的,這個(gè)默認(rèn)環(huán)境實(shí)際上就是一組環(huán)境變量的定義。用戶可以對(duì)自己的運(yùn)行環(huán)境進(jìn)行定制,其方法就是修改相應(yīng)的系統(tǒng)環(huán)境變量。

            常見(jiàn)的環(huán)境變量

            對(duì)于PATH和HOME等環(huán)境變量大家都不陌生。除此之外,還有下面一些常見(jiàn)環(huán)境變量。

            ◆ HISTSIZE是指保存歷史命令記錄的條數(shù)。

            ◆ LOGNAME是指當(dāng)前用戶的登錄名。

            ◆ HOSTNAME是指主機(jī)的名稱,許多應(yīng)用程序如果要用到主機(jī)名的話,通常是從這個(gè)環(huán)境變量中來(lái)取得的。

            ◆ SHELL是指當(dāng)前用戶用的是哪種Shell。

            ◆ LANG/LANGUGE是和語(yǔ)言相關(guān)的環(huán)境變量,使用多種語(yǔ)言的用戶可以修改此環(huán)境變量。

            ◆ MAIL是指當(dāng)前用戶的郵件存放目錄。

            ◆ PS1是基本提示符,對(duì)于root用戶是#,對(duì)于普通用戶是$。PS2是附屬提示符,默認(rèn)是“>”??梢酝ㄟ^(guò)修改此環(huán)境變量來(lái)修改當(dāng)前的命令符,比如下列命令會(huì)將提示符修改成字符串“Hello,My NewPrompt :) ”。

            # PS1=" Hello,My NewPrompt :) "

            Hello,My NewPrompt :)

            除了這些常見(jiàn)的環(huán)境變量,許多應(yīng)用程序在安裝時(shí)也會(huì)增加一些環(huán)境變量,比如使用Java就要設(shè)置JAVA_HOME和CLASSPATH等,而安裝五筆輸入法會(huì)增加環(huán)境變量"XMODIFIERS=@im=fcitx"等。

            定制環(huán)境變量

            環(huán)境變量是和Shell緊密相關(guān)的,用戶登錄系統(tǒng)后就啟動(dòng)了一個(gè)Shell。對(duì)于Linux來(lái)說(shuō)一般是bash,但也可以重新設(shè)定或切換到其它的 Shell。環(huán)境變量是通過(guò)Shell命令來(lái)設(shè)置的,設(shè)置好的環(huán)境變量又可以被所有當(dāng)前用戶所運(yùn)行的程序所使用。對(duì)于bash這個(gè)Shell程序來(lái)說(shuō),可以通過(guò)變量名來(lái)訪問(wèn)相應(yīng)的環(huán)境變量,通過(guò)export來(lái)設(shè)置環(huán)境變量。下面通過(guò)幾個(gè)實(shí)例來(lái)說(shuō)明。

            1. 顯示環(huán)境變量HOME

            $ echo $HOME

            /home/terry

            2. 設(shè)置一個(gè)新的環(huán)境變量WELCOME

            $ export WELCOME="Hello!"

            $ echo $WELCOME

            Hello!

            3. 使用env命令顯示所有的環(huán)境變量

            $ env

            HOSTNAME=terry.mykms.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命令來(lái)清除環(huán)境變量

            set可以設(shè)置某個(gè)環(huán)境變量的值。清除環(huán)境變量的值用unset命令。如果未指定值,則該變量值將被設(shè)為NULL。示例如下:

            $ export TEST="Test..." #增加一個(gè)環(huán)境變量TEST

            $ env|grep TEST #此命令有輸入,證明環(huán)境變量TEST已經(jīng)存在了

            TEST=Test...

            $ unset $TEST #刪除環(huán)境變量TEST

            $ env|grep TEST #此命令沒(méi)有輸出,證明環(huán)境變量TEST已經(jīng)存在了

            6. 使用readonly命令設(shè)置只讀變量

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

            $ export TEST="Test..." #增加一個(gè)環(huán)境變量TEST

            $ readonly TEST #將環(huán)境變量TEST設(shè)為只讀

            $ unset TEST #會(huì)發(fā)現(xiàn)此變量不能被刪除

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

            $ TEST="New" #會(huì)發(fā)現(xiàn)此也變量不能被修改

            -bash: TEST: readonly variable

            7. 用C程序來(lái)訪問(wèn)和設(shè)置環(huán)境變量

            對(duì)于C程序的用戶來(lái)說(shuō),可以使用下列三個(gè)函數(shù)來(lái)設(shè)置或訪問(wèn)一個(gè)環(huán)境變量。

            ◆ getenv()訪問(wèn)一個(gè)環(huán)境變量。輸入?yún)?shù)是需要訪問(wèn)的變量名字,返回值是一個(gè)字符串。如果所訪問(wèn)的環(huán)境變量不存在,則會(huì)返回NULL。

            ◆ setenv()在程序里面設(shè)置某個(gè)環(huán)境變量的函數(shù)。

            ◆ unsetenv()清除某個(gè)特定的環(huán)境變量的函數(shù)。

            另外,還有一個(gè)指針變量environ,它指向的是包含所有的環(huán)境變量的一個(gè)列表。下面的程序可以打印出當(dāng)前運(yùn)行環(huán)境里面的所有環(huán)境變量:

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

            還可以通過(guò)修改一些相關(guān)的環(huán)境定義文件來(lái)修改環(huán)境變量,比如對(duì)于Red Hat等Linux發(fā)行版本,與環(huán)境相關(guān)的文件有/etc/profile和~/.bashrc等。修改完畢后重新登錄一次就生效了。

            linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

            linux相關(guān)文章:linux教程




            評(píng)論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉