Linux是一个多用户的操作系统。每个用户登录系统后,都会有一个专用的运行环境。通常每个用户默认的环境都是相同的,这个默认环境实际上就是一组环境变量的定义。用户可以对自己的运行环境进行定制,其方法就是修改相应的系统环境变量。
环境变量一般在用户的根目录下的.profile文件中进行定义,以下是一个.profile文件的示例:
export TERM=vt100
set -o vi
#export LANG=zh_CN.hp15CN
export LANG=C
export LC_ALL=C
export PS1=`hostname`:`whoami`:’$PWD>’
export PATH=/usr/bin:/usr/bin:/etc:/usr/sbin:/usr/ucb:$ORACLE_HOME/bin:/opt/bin:/usr/ccs/bin:/usr/contrib/bin:.
export ORACLE_OWNER=oracle
export ORACLE_BASE=/oracle/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/9.2
export LIBPATH=/usr/local/openwin/lib:/usr/lib:/apt/lib:$TUXDIR/lib:$TUXDIR/include/usr/local/openwin/lib
export HOME=/darkmi
export WORKDIR=$HOME/applications/mydomain/DefaultWebApp/cgi/cgi-bin
export PATH=$PATH:$HOME:$WORKDIR
export TEMPDIR=$WORKDIR/log
export TERM=vt100
export CC=”cc”
export ORACLE_SID=testdb
alias ls=’ls -aFx’
alias l=’ls -aFl’
alias rm=’rm -i’
alias d=”ls -aFl|grep ‘^d'”
export DOMAIN=/darkmi/domains/mydomain
export WEBAPP=/darkmi/applications/mydomain/DefaultWebApp
alias tonpage=’cd /darkmi/applications/mydomain/DefaultWebApp/npage’
alias t10=’tail -f /darkmi/domains/mydomain/console10000.log’
其中以export开头的部分的部分都是环境变量的声明。
下表罗列了一些Linux系统使用的变量并说明了它们的用处。在表格后面将列举一些变量例值。
变量 | 说明 |
PATH | 这个变量包含了一系列由冒号分隔开的目录,系统就从这些目录里寻找可执行文件。如果你输入的可执行文件(例如ls、rc-update或者emerge)不在这些目录中,系统就无法执行它(除非你输入这个命令的完整路径,如/bin/ls)。 |
HISTSIZE | 保存历史命令记录的条数。 |
LDPATH | 这个变量包含了一系列用冒号隔开的目录,动态链接器将在这些目录里查找库文件。 |
HOSTNAME | 是指主机的名称,许多应用程序如果要用到主机名的话,通常是从这个环境变量中来取得的。 |
SHELL | 是指当前用户用的是哪种Shell。 |
PS1 | 是基本提示符,对于root用户是#,对于普通用户是$。 |
PS2 | 是附属提示符,默认是“>”。可以通过修改此环境变量来修改当前的命令符。 |
说明:
这些环境变量不一定在所有的linux/unix系统中都是有效的,因为不同的系统、不同的shell都会一点区别于其它系统或shell的环境变量定义方式。如果要查看单个的环境变量使用[ehco $evn_name],比如:[echo $SHELL]会输出当前使用的何种shell。
通过shell命令操作环境变量
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
参考链接:
理解 Linux 配置文件
Sorry, the comment form is closed at this time.
No comments yet.