【转载】Linux的环境变量
一、Linux的变量种类
按变量的生存周期来划分,Linux变量可分为两类:
- 永久的:需要修改配置文件,变量永久生效。
- 临时的:使用export命令声明即可,变量仅在当前shell有效并在shell关闭时失效。
二、设置变量的三种方法
- 在/etc/profile文件中添加变量
在文件/etc/profile文件中增加变量,该变量将会对Linux下所有用户有效,并且是“永久的”。
例如:编辑/etc/profile文件,添加CLASSPATH变量
vim /etc/profile
export CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib
注:修改文件后要想马上生效还要运行source /etc/profile,否则只能在用户下次登录时生效。
- 在用户目录下的.bash_profile文件中添加变量
在用户目录下的.bash_profile文件中增加变量,改变量仅会对当前用户有效,并且是“永久的”。
例如:编辑test用户目录(/home/test)下的.bash_profile
vim /home/test/.bash.profile
export CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib
注:修改文件后要想马上生效还要运行source /home/test/.bash_profile,否则只能在test用户下次登录时生效。
- 直接运行export命令定义变量
在shell的命令行下直接使用export 变量名=变量值。
定义变量,该变量只在当前的shell(BASH)或其子shell(BASH)下是有效的,shell关闭了,变量也就失效了,再打开新shell时就没有这个变量,需要使用的话还需要重新定义。
三、PATH环境变量
其格式为:PATH=$PATH:"user_path1":"user_path2": ... :"user_pathN"
可以自己加上指定的路径,中间用冒号隔开。环境变量更改后,在用户下次登陆时生效。如果想立刻生效,则可执行下面的语句:source /etc/profile或source ~/.bash_profile。
需要注意的是,最好不要把当前路径”./”放到PATH里,这样可能会受到意想不到的攻击。
完成后,可以通过echo $PATH查看当前的搜索路径。这样定制后,就可以避免频繁的启动位于shell搜索的路径之外的程序了。