在RHEL 6.7上,我添加了文件/ etc / environment:
JAVA_HOME="/opt/jdk1.8.0_91" JRE_HOME="{JAVA_HOME}/jre" M2_HOME="/usr/local/apache-maven" M2="{M2_HOME}/bin" PATH="{JAVA_HOME}/bin:{JRE_HOME}/bin:{M2}:{PATH}"
现在login,bash提供了以下错误:
-bash: id: command not found -bash: id: command not found -bash: id: command not found -bash: uname: command not found
删除或重命名/ etc / environment会导致问题消失。
注意:我不想使用/ etc / profile,因为我希望这些设置可用于非交互式shell。
/etc/environment不执行variables扩展。 因此,您的PATH现在实际上是{JAVA_HOME}/bin:{JRE_HOME}/bin:{M2}:{PATH} ,这当然不起作用。
如果仅使用bash ,则可能需要考虑在/etc/environment设置$BASH_ENV ,如下所示:
BASH_ENV=/etc/non-inter-test
/etc/non-inter-test然后被非交互式shell读取和执行(只有那些,所以你必须在/etc/profile引用同一个文件作为交互式shell),并且可能包含/etc/environment 。