Linux变量

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已经删除了

Leave a Reply

Your email address will not be published. Required fields are marked *