Centos6.5安装非roo用户的t环境变量

如果想在Linux中,安装环境变量,那么我们可能经常会把所有的环境变量安装在/etc/profile文件中,这些环境变量可能是JAVA变量,Maven变量,Ant变量,Hadoop变量等等,安装在/etc/profile中,相当于是一个公用变量,每个用户下都可以访问,但是,某些情况下,并不一定安装在/etc/profile文件里面就是好的,这个时候,需要我们安装在,一个用户的变量里面,而不是以root的身份安装这些变量。


散仙总结如下的几个步骤:
序号 描述
1 下载Linux版的JDK
2 如果是在windows下载的,需要上传到Linux上
3 解压到/usr/local/下  tar xvf  jdk-7u25-linux-x64.gz -C /usr/local/
4 写一个shell脚本文件,把所有的环境变量提前设置好,散仙在这里命名java.sh
5 上传这个文件到/etc/profile.d目录下
6 创建一个软连接指向jdk目录ln - /usr/local/jdk1.7.0_25/ /usr/local/jdk
7 Ctrl+D退出shell终端,然后按回车键进入
8 如果操作都正确的话,执行java -version,便可以显示JDK的版本号了




看下,散仙的java.sh的路径




内容如下:
export PATH=.:$PATH

export JAVA_HOME="/usr/local/jdk"
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$PATH:$JAVA_HOME/bin

export HADOOP_HOME=/home/search/hadoop
export HADOOP_CONF_DIR=$HADOOP_HOME/conf
export CLASSPATH=.:$CLASSPATH:$HADOOP_HOME/lib
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

export ANT_HOME=/usr/local/ant
export CLASSPATH=$CLASSPATH:$ANT_HOME/lib
export PATH=$PATH:$ANT_HOME/bin

export MAVEN_HOME="/usr/local/maven"
export CLASSPATH=$CLASSPATH:$MAVEN_HOME/lib
export PATH=$PATH:$MAVEN_HOME/bin




为什么,放在java.sh里面的环境变量会被执行加载呢?

答案就在/etc/profile里面,我们打开这个脚本文件,看里面的最后一段代码,就会恍然大悟,里面的内容如下:


for i in /etc/profile.d/*.sh ; do  //会加载/etc/profile.d下面的所有sh文件,故我们的脚本会被执行
    if [ -r "$i" ]; then
        if [ "${-#*i}" != "$-" ]; then
            . "$i"
        else
            . "$i" >/dev/null 2>&1
        fi
    fi
done

unset i
unset -f pathmunge


至此,我们执行,java -version就可以成功看到我们的安装的JDK版本信息:
[root@ganglia ~]# java -version
java version "1.7.0_25"
Java(TM) SE Runtime Environment (build 1.7.0_25-b15)
Java HotSpot(TM) 64-Bit Server VM (build 23.25-b01, mixed mode)
[root@ganglia ~]# 


当然,我们也可以安装在/etc/profile里面,可以根据自己的具体情况而定。

猜你喜欢

转载自qindongliang.iteye.com/blog/2074378