我正在尝试找到JAVA_HOME环境变量设置的位置,我试图找到〜/ .bash_profile ,〜/ .bashrc 和 / etc / profile 但找不到env变量。
但是当我运行echo $JAVA_HOME
时,它会给出值/ usr / local / java。
JAVA_HOME env变量的其他地方。
BTW是一个Red Hat Linux服务器。
答案 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/profile.d下的脚本中。如果其他位置失败,您可以grep此目录。
grep -R "JAVA_HOME" /etc/profile.d/
This post可以提供有关该主题的更多详细信息。