我已编辑'/ etc / profile'并添加了以下内容:
导出JAVA_HOME = / usr / java / jdk1.6.0_21
但是,以“root”身份登录时:'#echo $ JAVA_HOME'列出了不同的路径。
如何配置“root”以选择上述路径?
注意:对于root用户,导出'bashrc'或'.bash_profile'中的路径不适用于帐户'root'。
答案 0 :(得分:3)
只有有限数量的地方可能会错误地为root设置值。超级用户的主目录是/root
,因此您应首先查看/root/.bashrc
和/root/.bash_profile
。您可能也需要查看/etc/bashrc
。
如果这些都没有产生启示,您可以尝试通过将set -x
(可能env
)添加到/etc/profile
的顶部来调试设置环境的位置,也许只有在此人的情况下运行它是root
(以免打扰其他用户),并跟踪执行和设置的内容。使用env
命令诊断JAVA_HOME是否已在进入/etc/profile
时设置。
Bash手册(4.0版)说:
§6.2Bash启动文件
[...]
当Bash作为交互式登录shell调用时,或作为非交互式shell调用 '--login'选项,它首先从文件'
/etc/profile
'读取并执行命令,如果 该文件存在。阅读该文件后,它会查找“~/.bash_profile
”,“~/.bash_login
”, 和'~/.profile
',按此顺序,并从第一个读取和执行命令 存在且可读。
除非您做了一些不寻常的事情,否则root ~
为/root
。