我试图找到设置JAVA_HOME env variale的位置,并且试图在〜/ .bash_profile,〜/ .bashrc和/ etc / profile中找到,但是找不到env变量。
但是,当我运行echo $JAVA_HOME
它时,给出的值是/ usr / local / java。
JAVA_HOME env变量在其他位置。
顺便说一句,它是一个Red Hat Linux服务器。
尝试文件/etc/bash.bashrc
,有时它也用于初始化bash。如果没有,那么尝试找到在文件里面的字JAVA_HOME/etc
用grep -r BASH_HOME /etc
更新
来自man bash:
当bash作为交互式登录shell或通过--login选项作为非交互式shell调用时,它首先从文件/ etc / profile(如果存在)读取并执行命令。读取该文件后,它将按此顺序查找〜/ .bash_profile,〜/ .bash_login和〜/ .profile,并从存在的且可读的第一个命令中读取并执行命令。
并且:
如果启动了非登录外壳程序的交互式外壳程序,则bash会从/etc/bash.bashrc和〜/ .bashrc中读取并执行命令(如果存在这些文件)。
因此,您唯一没有看过的文件是〜/ bash_login。
这些文件中可能没有JAVA_HOME,发生的情况是这些文件之一调用了另一个脚本,在这种情况下,如果其中一个脚本正在从其他位置“加载”更多脚本,则必须逐行阅读
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句