设置“ROOT”的路径在红帽 5 中

发布于 2024-10-03 12:38:19 字数 231 浏览 7 评论 0原文

我编辑了“/etc/profile”并添加了以下内容:

export JAVA_HOME=/usr/java/jdk1.6.0_21

但是,当以“root”身份登录时:“# echo $JAVA_HOME”列出了不同的路径。

如何配置“root”来选择上述路径?

注意:对于 root 而言,导出“bashrc”或“.bash_profile”中的路径对于帐户“root”不起作用。

I have edited '/etc/profile' and added the following:

export JAVA_HOME=/usr/java/jdk1.6.0_21

However, when logged in as 'root': '# echo $JAVA_HOME' lists a different path.

How do I configure 'root' to pick the above path?

NB: Exporting paths in 'bashrc' or '.bash_profile', for root, did not work for account 'root'.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

苏大泽ㄣ 2024-10-10 12:38:19

只有有限的几个地方可能会错误设置 root 的值。超级用户的主目录是 /root,因此您应该首先查看 /root/.bashrc/root/.bash_profile。您可能还需要查看 /etc/bashrc

如果这些都没有产生启发,您可以尝试通过将 set -x (也许还有 env)添加到 /etc/ 的顶部来调试环境设置的位置profile,也许只有运行它的人是root(以免打扰其他用户),并跟踪执行和设置的内容。使用 env 命令诊断 JAVA_HOME 是否已在 /etc/profile 条目中设置。

Bash 手册(4.0 版)说:

§6.2 Bash 启动文件

[...]

当 Bash 作为交互式登录 shell 或非交互式 shell 调用时
'--login' 选项,它首先从文件 '/etc/profile' 读取并执行命令,如果
该文件存在。读取该文件后,它会查找 '~/.bash_profile'、'~/.bash_login'、
和 '~/.profile',按此顺序,并从第一个读取并执行命令
存在并且可读。

除非你做了什么不寻常的事情,否则 root 的 ~/root

There are only a limited number of places where the value can be mis-set for root. The home directory for the superuser is /root, so you should first look in /root/.bashrc and /root/.bash_profile. You might need to look in /etc/bashrc, too.

If none of that yields enlightenment, you could try debugging where the environment is set by adding set -x (and perhaps env) to the top of /etc/profile, maybe only if the person running it is root (so as not to disturb other users), and track what is executed and set. Use the env command to diagnose whether JAVA_HOME is already set on entry to /etc/profile.

The Bash manual (4.0 edition) says:

§6.2 Bash Startup Files

[...]

When Bash is invoked as an interactive login shell, or as a non-interactive shell with the
‘--login’ option, it first reads and executes commands from the file ‘/etc/profile’, if
that file exists. After reading that file, it looks for ‘~/.bash_profile’, ‘~/.bash_login’,
and ‘~/.profile’, in that order, and reads and executes commands from the first one that
exists and is readable.

Unless you have done something unusual, root's ~ is /root.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文