14.3.1 设置环境变量
V A R I A B L E - N A M E = v a l u e;export VARIABLE-NAME
在两个命令之间是一个分号,也可以这样写:
V A R I A B L E - N A M E = v a l u e
Export VARIABLE-NAME
显示变量:
使用set或者env来设置
14.3.3 清除环境变量
使用u n s e t命令清除环境变量:
unset MYAPPS
echo $MYAPPS
使生效:
source XXX. p r o f i l e
即可
讲解:
将之放入p r o f i l e文件意味着每次登录时这些值都将被初始化。
传统上,所有环境变量均为大写。环境变量应用于用户进程前,必须用e x p o r t命令导出。
另外一篇实例:
环境变量设置实例
1、使用命令echo显示环境变量
本例使用echo显示常见的变量HOME
# echo $HOME
/home/kevin
2、设置一个新的环境变量
# export MYNAME=”my name is kevin”
# echo $ MYNAME
my name is Kevin
3、修改已存在的环境变量
接上个示例
# MYNAME=”change name to jack” 改变环境变量的值得方法!
# echo $MYNAME
change name to jack
注:export PATH=$PATH:/home/newdir
表示把/home/newdir追加到原有PATH变量后面
4、使用env命令显示所有的环境变量
# env
HOSTNAME=localhost.localdomain
SHELL=/bin/bash
TERM=xterm
HISTSIZE=1000
SSH_CLIENT=192.168.136.151 1740 22
QTDIR=/usr/lib/qt-3.1
SSH_TTY=/dev/pts/0
……
5、使用set命令显示所有本地定义的Shell变量
# set
BASH=/bin/bash
BASH_ENV=/root/.bashrc
……
6、使用unset命令来清除环境变量
# export TEMP_KEVIN=”kevin” #增加一个环境变量TEMP_KEVIN
# env | grep TEMP_KEVIN #查看环境变量TEMP_KEVIN是否生效(存在即生效)
TEMP_KEVIN=kevin #证明环境变量TEMP_KEVIN已经存在
# unset TEMP_KEVIN #删除环境变量TEMP_KEVIN
# env | grep TEMP_KEVIN #查看环境变量TEMP_KEVIN是否被删除,没有输出显示,证明TEMP_KEVIN被清除了。
7、使用readonly命令设置只读变量
注:如果使用了readonly命令的话,变量就不可以被修改或清除了。
# export TEMP_KEVIN ="kevin" #增加一个环境变量TEMP_KEVIN
# readonly TEMP_KEVIN #将环境变量TEMP_KEVIN设为只读
# env | grep TEMP_KEVIN #查看环境变量TEMP_KEVIN是否生效
TEMP_KEVIN=kevin #证明环境变量TEMP_KEVIN已经存在
# unset TEMP_KEVIN #会提示此变量只读不能被删除
-bash: unset: TEMP_KEVIN: cannot unset: readonly variable
# TEMP_KEVIN ="tom" #修改变量值为tom会提示此变量只读不能被修改
8、通过修改环境变量定义文件来修改环境变量。
需要注意的是,一般情况下,仅修改普通用户环境变量配置文件,避免修改根用户的环境定义文件,因为那样可能会造成潜在的危险。
# cd ~ #到用户根目录下
# ls -a #查看所有文件,包含隐藏的文件
# vi .bash_profile #修改用户环境变量文件
例如:
编辑你的PATH声明,其格式为:
PATH=$PATH:<PATH 1>:<PATH 2>:<PATH 3>:------:<PATH N>
你可以自己加上指定的路径,中间用冒号隔开。
环境变量更改后,在用户下次登陆时生效。
如果想立刻生效,则可执行下面的语句:#source .bash_profile
需要注意的是,最好不要把当前路径”./”放到PATH里,这样可能会受到意想不到的攻击。
完成后,可以通过# echo $PATH查看当前的搜索路径。这样定制后,就可以避免频繁的启动位于shell搜索的路径之外的程序了。