为什么我可以从一个用户调用 java,但不能调用 root?

分享于 

3分钟阅读

电脑

  繁體 雙語

问题:

我想这个命令序列解释了我的全部问题:


[Ramy@Moonface Downloads]$ java -version


java version"1.6.0_22"


Java(TM) SE Runtime Environment (build 1.6.0_22-b04)


Java HotSpot(TM) Server VM (build 17.1-b03, mixed mode)


[Ramy@Moonface Downloads]$ su -


Password: 


[root@Moonface ~]# java -version


bash: java: command not found



运行 fedora 13

我想应该明确地问一下: 我需要采取哪些步骤才能将java调用为 root?

更多信息:


[Ramy@Moonface ~]$ which java


/usr/java/jdk1.6.0_22/bin/java


[Ramy@Moonface ~]$ echo $PATH


/usr/java/jdk1.6.0_12/bin:/usr/java/jdk1.6.0_12/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/Ramy/bin:/usr/java/jdk1.6.0_22/bin


[Ramy@Moonface ~]$ su -


Password: 


[root@Moonface ~]# which java


/usr/bin/which: no java in (/usr/java/jdk1.6.0_12/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/roo t/bin)


[root@Moonface ~]# echo $PATH


/usr/java/jdk1.6.0_12/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin



更新:显然"/usr/java/jdk1.6.0_22/bin" 在 root的路径中丢失。 如何将它的添加到 root的路径中? 这是我的~/bash_profile:


#. bash_profile



# Get the aliases and functions


if [ -f ~/.bashrc ]; then


. ~/.bashrc


fi



# User specific environment and startup programs



PATH=$PATH:$HOME/bin



export PATH


export JAVA_HOME="/usr/java/jdk1.6.0_22"




回答 1:

使用命令检查java是否在你的路径上,比如


which java


echo $PATH



带或者不带 root。


回答 2:

我使用了几个星期的linux用户体验,所以如果我使用一些Windowsy术语,很抱歉。

在你的用户目录中,调用Java所需的文件可能位于你的用户目录中,或者下载到。 在 root 服务器( 类似于 Windows 路径变量中不存在的内容) 在公共区域中查找,在公共区域中找不到它,在公共区域找不到它,在这里找它。

尝试查找Java文件并将它们移动到公共区域。



JAVA  USE  用户  roo  ROOT  Invoke  
相关文章