linux自學之旅_環境變數

來源:互聯網
上載者:User

初次學習lliux對環境變數的知識甚是不解決,特花費一個上午的時間總結了一下,可以說是全面!如各位有更加詳細的見解不妨告知!
定製環境變數

環境變數是和Shell緊密相關的,使用者登入系統後就啟動了一個Shell。對於Linux來說一般是bash,但也可以重新設定或切換到其它的 Shell。環境變數是通過Shell命令來設定的,設定好的環境變數又可以被所有目前使用者所啟動並執行程式所使用。對於bash這個Shell程式來說,可以通過變數名來訪問相應的環境變數,通過export來設定環境變數。下面通過幾個執行個體來說明。

1. 顯示環境變數HOME

$ echo $HOME

/home/terry

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

$ export WELCOME="Hello!"

$ echo $WELCOME

Hello!

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

$ 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命令來清除環境變數

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對整個系統有效.
確定你使用的是bash

添加
export LANG=zh_CN.GBK
export LC_ALL=zh_CN.GBK
export XMODIFIERS=@im=Chinput
csh的配置可能是
setenv LANG zh_CN.GBK
setenv LC_ALL zh_CN.GBK
setenv XMODIFIERS @im=Chinput

你也可以建立~/.bash_profile檔案,在檔案中設定
相關的檔案還有.bash_logout .bash_login
比如我的.bash_logout指定
clear
每次退出是自動清屏

1、linux是一個多使用者的作業系統。每個使用者登入系統後,都會有一個專用的運行環境。通常每個使用者預設的環境都是相同的,這個預設環境實際上就是一組環境變數的定義。使用者可以對自己的運行環境進行定製,其方法就是修改相應的系統內容變數。
2、常在/etc/profile檔案中修改環境變數,在這裡修改的內容是對所有使用者起作用的。
       以下主要操作將在該檔案中進行。
3、如何添加環境變數。
      例如添加”NAME=liheng“ 。
      在profile檔案的最後添加如下內容export NAME=liheng
      變數值liheng可以加引號也可以不加,效果一樣。
4、在profile檔案添加或修改的內容需要登出系統才會生效。
5、重複定義變數怎樣理解。
      經常出現的是對PATH變數的定義。
     例如:在peofile檔案預設對PATH變數都有設定PATH=¥¥¥¥¥¥¥(記不住了),在以後可能在對PATH設定,一般都加在profile檔案的最後PATH=······(打個比方)。而系統之中認定的PATH=·······¥¥¥¥¥¥¥¥¥,也就是說相同名字的環境變數,後寫入的先起作用(通俗地講)。大家一定要注意。
6、特殊字元介紹。
      例如在profile中有如下內容,通過以下內容說明特殊符號的用法。
       export A=/q/jing:aaa/cc/ld
       export B=.:/liheng/wang
       export A=/cd/cdr:$A
      大家注意紅色的符號:
      : 表示並列含義,例如A變數值有多個,用:符號進行分離。
      .   表示你操作的目前的目錄。例如pap命令會尋找B環境變數。
          在/home鍵入pap命令,系統首先在/home目錄下(即當前路徑)尋找關於 B 的內容,如果沒有在/liheng/wang目錄下尋找關於B的內容。
      $ 表示該變數本次定義之前的值,例如$A代表/q/jing:aaa/cc/ld。也就是說
           A=/cd/cdr:/q/jing:aaa/cc/ld   
7、使用env命令顯示所有的環境變數 。在命令提示字元下鍵入env就行了。
          set命令顯示所有本地定義的Shell變數。
8、常見的環境變數
           PATH:決定了shell將到哪些目錄中尋找命令或程式
           HOME:目前使用者主目錄
           MAIL:是指目前使用者的郵件存放目錄。
           SHELL:是指目前使用者用的是哪種Shell。
           HISTSIZE:是指儲存曆史命令記錄的條數
           LOGNAME:是指目前使用者的登入名稱。
            HOSTNAME:是指主機的名稱,許多應用程式如果要用到主機名稱的話,通常是從這個環境變數中來取得的。
           LANG/LANGUGE:是和語言相關的環境變數,使用多種語言的使用者可以修改此環境變數。
           PS1:是基本提示符,對於root使用者是#,對於普通使用者是$。
           PS2:是附屬提示符,預設是“>”。可以通過修改此環境變數來修改當前的命令符,比如下列命令會將提示符修改成字串“Hello,My NewPrompt ”。
# PS1=" Hello,My NewPrompt "
9、使用修改.bashrc檔案進行環境變數的編輯,只對目前使用者有用。
            使用修改 /etc/profile 檔案進行環境變數的編輯,是對所有使用者有用。大家一定要注意區別。
10、profile檔案在系統啟動時將被運行。大家可以在裡面加入其他命令,但是一定要加正確,不然的話系統會啟動不起來的。

相關文章

聯繫我們

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