初次學(xué)習(xí)lliux對環(huán)境變量的知識甚是不解決,,特花費一個上午的時間總結(jié)了一下,,可以說是全面!如各位有更加詳細的見解不妨告知,!
定制環(huán)境變量
環(huán)境變量是和Shell緊密相關(guān)的,,用戶登錄系統(tǒng)后就啟動了一個Shell。對于Linux來說一般是bash,,但也可以重新設(shè)定或切換到其它的
Shell,。環(huán)境變量是通過Shell命令來設(shè)置的,設(shè)置好的環(huán)境變量又可以被所有當(dāng)前用戶所運行的程序所使用,。對于bash這個Shell程序來說,,可
以通過變量名來訪問相應(yīng)的環(huán)境變量,通過export來設(shè)置環(huán)境變量,。下面通過幾個實例來說明,。
1. 顯示環(huán)境變量HOME
$ echo $HOME
/home/terry
2. 設(shè)置一個新的環(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命令來清除環(huán)境變量
set可以設(shè)置某個環(huán)境變量的值,。清除環(huán)境變量的值用unset命令。如果未指定值,,則該變量值將被設(shè)為NULL,。示例如下:
$ export TEST="Test..." #增加一個環(huán)境變量TEST
$ env|grep TEST #此命令有輸入,證明環(huán)境變量TEST已經(jīng)存在了
TEST=Test...
$ unset $TEST #刪除環(huán)境變量TEST
$ env|grep TEST #此命令沒有輸出,,證明環(huán)境變量TEST已經(jīng)存在了
6. 使用readonly命令設(shè)置只讀變量
如果使用了readonly命令的話,,變量就不可以被修改或清除了。示例如下:
$ export TEST="Test..." #增加一個環(huán)境變量TEST
$ readonly TEST #將環(huán)境變量TEST設(shè)為只讀
$ unset TEST #會發(fā)現(xiàn)此變量不能被刪除
-bash: unset: TEST: cannot unset: readonly variable
$ TEST="New" #會發(fā)現(xiàn)此也變量不能被修改
-bash: TEST: readonly variable
etc/profile對整個系統(tǒng)有效.
確定你使用的是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文件,在文件中設(shè)置
相關(guān)的文件還有.bash_logout .bash_login
比如我的.bash_logout指定
clear
每次退出是自動清屏
1,、linux是一個多用戶的操作系統(tǒng),。每個用戶登錄系統(tǒng)后,都會有一個專用的運行環(huán)境,。通常每個用戶默認的環(huán)境都是相同的,,這個默認環(huán)境實際上就是一組環(huán)境變量的定義。用戶可以對自己的運行環(huán)境進行定制,,其方法就是修改相應(yīng)的系統(tǒng)環(huán)境變量,。
2、常在/etc/profile文件中修改環(huán)境變量,,在這里修改的內(nèi)容是對所有用戶起作用的,。
以下主要操作將在該文件中進行。
3,、如何添加環(huán)境變量,。
例如添加”NAME=liheng“ 。
在profile文件的最后添加如下內(nèi)容export NAME=liheng
變量值liheng可以加引號也可以不加,,效果一樣,。
4、在profile文件添加或修改的內(nèi)容需要注銷系統(tǒng)才能生效,。
5,、重復(fù)定義變量怎樣理解。
經(jīng)常出現(xiàn)的是對PATH變量的定義,。
例如:在peofile文件默認對PATH變量都有設(shè)置PATH=¥¥¥¥¥¥¥(記不住了),,在以后可能在對PATH設(shè)置,一般都加在profile文
件的最后PATH=······(打個比方),。而系統(tǒng)之中認定的PATH=·······¥¥¥¥¥¥¥¥¥,,也就是說相同名字的環(huán)境變量,后寫入的先起
作用(通俗地講),。大家一定要注意,。
6、特殊字符介紹,。
例如在profile中有如下內(nèi)容,,通過以下內(nèi)容說明特殊符號的用法,。
export A=/q/jing:aaa/cc/ld
export B=.:/liheng/wang
export A=/cd/cdr:$A
大家注意紅色的符號:
: 表示并列含義,例如A變量值有多個,,用:符號進行分離,。
. 表示你操作的當(dāng)前目錄。例如pap命令會查找B環(huán)境變量,。
在/home鍵入pap命令,,系統(tǒng)首先在/home目錄下(即當(dāng)前路徑)查找關(guān)于 B 的內(nèi)容,如果沒有在/liheng/wang目錄下查找關(guān)于B的內(nèi)容,。
$ 表示該變量本次定義之前的值,,例如$A代表/q/jing:aaa/cc/ld。也就是說
A=/cd/cdr:/q/jing:aaa/cc/ld
7,、使用env命令顯示所有的環(huán)境變量 ,。在命令提示符下鍵入env就行了。
set命令顯示所有本地定義的Shell變量,。
8,、常見的環(huán)境變量
PATH:決定了shell將到哪些目錄中尋找命令或程序
HOME:當(dāng)前用戶主目錄
MAIL:是指當(dāng)前用戶的郵件存放目錄。
SHELL:是指當(dāng)前用戶用的是哪種Shell,。
HISTSIZE:是指保存歷史命令記錄的條數(shù)
LOGNAME:是指當(dāng)前用戶的登錄名,。
HOSTNAME:是指主機的名稱,許多應(yīng)用程序如果要用到主機名的話,,通常是從這個環(huán)境變量中來取得的,。
LANG/LANGUGE:是和語言相關(guān)的環(huán)境變量,使用多種語言的用戶可以修改此環(huán)境變量,。
PS1:是基本提示符,,對于root用戶是#,對于普通用戶是$,。
PS2:是附屬提示符,,默認是“>”??梢酝ㄟ^修改此環(huán)境變量來修改當(dāng)前的命令符,,比如下列命令會將提示符修改成字符串“Hello,My NewPrompt :) ”。
# PS1=" Hello,My NewPrompt :) "
9,、使用修改.bashrc文件進行環(huán)境變量的編輯,只對當(dāng)前用戶有用,。
使用修改 /etc/profile 文件進行環(huán)境變量的編輯,,是對所有用戶有用。大家一定要注意區(qū)別,。
10,、profile文件在系統(tǒng)啟動時將被運行,。大家可以在里面加入其他命令,但是一定要加正確,,不然的話系統(tǒng)會啟動不起來的,。
|