JAVA_HOME的默认值似乎覆盖了由/etc/profile.d/java.sh设置的值

我创build了一个/etc/profile.d/java.sh ,其中包含以下代码行: export JAVA_HOME=/usr/java/jdk1.6.0_30 。 但是,当我通过SSHlogin或重新启动Linux Centos 6.2服务器时,我总是看到:

 [root@host3 /etc/profile.d]# echo $JAVA_HOME /usr/local/jdk 

这是一个新的安装和服务器,所以没有其他的事情了。 似乎是在重新启动或SSHlogin时执行java.sh文件,但是JAVA_HOME的值被默认值/usr/local/jdk以某种方式覆盖。 /usr/local下没有目录jdk

任何想法如何纠正? JAVA_HOME的值需要为所有用户设置(在java.sh中完成)。

更新1:

我检查了/ etc / profile文件,并search了文本jdk以及JAVA ,都没有find。 我也检查了/root/.bash_profile,它显示如下:

 # .bash_profile # Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi # User specific environment and startup programs PATH=$PATH:$HOME/bin export PATH 

另外,如果我给java.sh发送源码,一切都会正确设置。 但是,如果我重新启动服务器,JAVA_HOME回到/usr/local/jdk

检查/ etc / profile文件或主目录中的.bash_profile / .profile文件。

看起来,cPanel将以下行添加到/etc/bashrc文件,以将JAVA_HOME设置为默认值。

 export JAVA_HOME=/usr/local/jdk export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib/classes.zip 

所以,如果您安装了cPanel,请确保您检查此文件。