在Red Hat Server中找不到JAVA_HOME

时间:2014-04-22 11:26:24

标签: java redhat rhel

我正在尝试找到JAVA_HOME环境变量设置的位置,我试图找到〜/ .bash_profile 〜/ .bashrc / etc / profile 但找不到env变量。

但是当我运行echo $JAVA_HOME时,它会给出值/ usr / local / java。

JAVA_HOME env变量的其他地方。

BTW是一个Red Hat Linux服务器。

4 个答案:

答案 0 :(得分:1)

尝试文件/etc/bash.bashrc,有时它也用于初始化bash。如果没有,那么尝试使用/etc

grep -r BASH_HOME /etc中的文件中找到单词JAVA_HOME

更新

来自man bash:

  

当bash作为交互式登录shell或带有--login选项的非交互式shell调用时,它首先从 / etc / profile 文件中读取并执行命令,如果是文件已存在。阅读该文件后,它会依次查找〜/ .bash_profile 〜/ .bash_login 〜/ .profile ,以及读取和执行          来自第一个存在且可读的命令。

还有:

  

当启动不是登录shell的交互式shell时,bash会读取并执行来自 /etc/bash.bashrc 〜/ .bashrc 的命令,如果这些文件存在。

所以你唯一没看过的文件是〜/ bash_login。

可能JAVA_HOME不在任何这些文件中,并且会发生的是其中一个文件调用另一个脚本,在这种情况下,如果其中一个脚本是"那么你必须逐行读取。装载"来自其他地方的更多脚本

答案 1 :(得分:1)

怎么样:

grep JAVA_HOME /etc/*

grep JAVA_HOME ~/.*

答案 2 :(得分:0)

还请检查变量是否来自/ etc /中的所有启动脚本以及主目录下的

它看起来会像。路径/文件名或源路径/文件名

EX :.在/ etc / VAR 要么 源/ etc / var

答案 3 :(得分:0)

可以设置环境变量的标准位置很少。

  • 的/ etc /简档
  • /etc/profile.d
  • 下的shell脚本
  • 的/ etc / bashrc中
  • 〜/ .bashrc中
  • 〜/ .bash_profile中

推荐的方法是将环境变量放在/etc/profile.d下的脚本中。如果其他位置失败,您可以grep此目录。

grep -R "JAVA_HOME" /etc/profile.d/

This post可以提供有关该主题的更多详细信息。