环境变量的作用范围

来源:互联网 发布:代办网络经营许可证 编辑:程序博客网 时间:2024/04/30 01:18

第一类:局部环境变量
     这类环境变量只在某个用户的某个SHELL下起作用,对于其他SHELL而言,它是不存在的。也就是说:假设用户A启动了一个SHELL终端,在其中设置了环境变量---export ENV_A="HELLO A",那么这个变量只在这个SHELL里面存在,如果A又启动了另一个SHELL终端,是无法使用这个变量的。当然,对于用户B,这个变量就更不存在了。
第二类:用户级环境变量
     这类环境变量只在某个用户的所有SHELL下起作用,对于其他用户而言,这个变量是不存在的。也就是说:假设用户A设置了一个环境变量,那么用户A启动任何一个SHELL,都可以查看,使用,修改,删除这个变量。而用户B无法操作与读取这个变量,因为对于B,这个变量不存在。
     这类变量的设置方法是:
     在用户A的根目录下的.bashrc文件中增加要设置的环境变量即可。
     举例:
     用VI在用户A目录下的.bashrc文件中增加变量
     先打开这个配置文件 $ vi /home/A/.bashrc
     再添加如下内容 export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib
     最后保存退出
     这样就为用户A设置了环境变量CLASSPATH和JAVA_HOME
     【注】修改文件后要想马上生效还要在SHELL终端下运行$ source /home/A/.bashrc,否则需要在下次此用户重新登陆时生效。
第三类:系统级环境变量
     这类环境变量对系统中存在的任何用户都起作用。无论用户A还是用户B,都可以操作和读取这个变量。它的作用范围是整个系统。
     这类变量的设置方法是:
     在/etc/profile文件中增加要设置的环境变量即可。
     举例:
     先打开/etc/profile文件 $vi /etc/profile
     再添加如下内容 export ENV_ALL="HELLO EVERYBODY"
     最后保存退出
     这样就为系统设置了系统级的环境变量ENV_ALL,任何一个用户都可以使用它。