1. 按照生存周期来划分可以将Linux变量分为:
▪ 永久的:需要修改配置文件/etc/profile
▪ 临时的:直接使用export声明即可,在关闭shell后失效
2. 变量设置:
▪ 在/etc/profile文件中添加变量–对所有用户永久生效
# vi /etc/profile export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib
注:修改文件后如需立即生效需运行# source /etc/profile
▪ 在用户目录下的.bash_profile文件中增加变量–对单一用户永久生效
$ vi $HOME/.bash.profile export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib
注:修改文件后如需立即生效需运行$ source $HOME/.bash_profile
▪ 直接运行export命令定义变量–只对当前shell(BASH)有效(临时)
在shell的命令行下直接使用[export 变量名=变量值] 定义变量,该变量只在当前的shell(BASH)或其子shell(BASH)下是有效的,shell关闭了,变量也就失效了,再打开新shell时就没有这个变量,需要使用的话还需要重新定义。
▪ 使用readonly命令设置只读变量
如果使用了readonly命令的话,变量就不可以被修改或清除了。e.g.
$ export HELLO="hello" $ readonly HELLO #将环境变量HELLO设为只读 $ unset HELLO #发现此变量不能被删除 -bash: unset: HELLO: cannot unset: readonly variable $ HELLO="Newhello" #发现此变量不能被修改 -bash: TEST: readonly variable
3. 查看环境变量:
▪ 使用echo命令查看单个环境变量。e.g.
echo $PATH
▪ 使用env查看所有环境变量。e.g.
env
▪ 使用set查看所有本地定义的环境变量,unset可以删除指定的环境变量。e.g.
$ export HELLO="hello" $ env|grep HELLO HELLO=hello $ unset $HELLO #删除环境变量HELLO $ env|grep HELLO #此命令没有输出,证明环境变量HELLO已经删除了