Linux的环境变量设置和查看
一、Linux的变量种类
按变量的生存周期来划分,Linux变量可分为两类:
1、永久的:需要修改配置文件,变量永久生效。
2、临时的:使用export命令声明即可,变量在关闭shell时失效。
二、设置变量的三种方法
1、在/etc/profile文件中添加变量【对所有用户生效(永久的)】
用VI在文件/etc/profile文件中增加变量,该变量将会对Linux下所有用户有效,并且是“永久的”。
例如:编辑/etc/profile文件,添加JAVA和MYSQL的全局环境变量:
# vi /etc/profile
export JAVA_HOME=/usr/java/jdk1.7.0_80
export MYSQL_HOME=/usr/local/mysql
export PATH=$JAVA_HOME/bin:$MYSQL_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
(可以参考windows的设置)
注:修改文件后要想马上生效还要运行# source /etc/profile不然只能在下次重进此用户时生效。
2、在用户目录下的.bash_profile文件中增加变量【对单一用户生效(永久的)】
用VI在用户目录下的.bash_profile文件中增加变量,改变量仅会对当前用户有效,并且是“永久的”。
例如:编辑mycat用户目录(/home/mycat)下的.bash_profile
$ vi /home/mycat/.bash.profile
添加如下内容:
export MYCAT_HOME=/usr/local/mycat
PATH=$PATH:$HOME/bin:$MYCAT_HOME/bin
注:1.修改文件后要想马上生效还要运行$ source /home/mycat/.bash_profile不然只能在下次重进此用户时生效。
2.如果是从root等其他用户切换到mycat用户的情况下,使用su - mycat (不要漏下符号'-'),如果没有使用'-'来切换的话,环境变量还是使用的切换之前的用户的变量,此时在bash中调用mycat命令时,会出现command not found的错误。
3、直接运行export命令定义变量【只对当前shell(BASH)有效(临时的)】
在shell的命令行下直接使用[export 变量名=变量值]
定义变量,该变量只在当前的shell(BASH)或其子shell(BASH)下是有效的,shell关闭了,变量也就失效了,再打开新shell时就没有这个变量,需要使用的话还需要重新定义。
三、PATH声明,其格式为:
PATH=$PATH:<PATH 1>:<PATH 2>:<PATH 3>:------:<PATH N>
你可以自己加上指定的路径,中间用冒号隔开。环境变量更改后,在用户下次登陆时生效。
如果想立刻生效,则可执行下面的语句:$source .bash_profile
需要注意的是,最好不要把当前路径”./”放到PATH里,这样可能会受到意想不到的攻击。
完成后,可以通过$ echo $PATH查看当前的搜索路径。这样定制后,就可以避免频繁的启动位于shell搜索的路径之外的程序了。
四、查看PATH
[root@mch ~]# echo $PATH
/usr/java/jdk1.7.0_80/bin:/usr/local/mysql/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
[root@mch ~]# echo $JAVA_HOME
/usr/java/jdk1.7.0_80
[root@mch ~]# echo $CLASSPATH
.:/usr/java/jdk1.7.0_80/lib/dt.jar:/usr/java/jdk1.7.0_80/lib/tools.jar
参考文章:http://www.cnblogs.com/Neddy/archive/2011/03/01/1968018.html
Not more, but better!