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