我已经安装了 jdk这参考。据此,我必须将 jdk 目录添加到 PATH 变量并通过 添加替代方案update-alternatives
。我已经这样做了,一切都很好。但有一件事对我来说不清楚:当我输入which java
bash 时,它只返回,/usr/bin/java
但没有说明usr/bin/jvm/java-6-oracle/bin
尽管这个文件夹在 PATH 变量中,而且据我所知,bash 也应该java
在那里找到并在输出中提及它。有人能解释为什么会有这样的“阴影”吗?
谢谢。
答案1
/usr/bin/java
实际上是 的符号链接/etc/alternatives/java
,而 本身又是实际java
二进制文件的符号链接。update-alternatives
脚本会更改 的/etc/alternatives/java
链接位置。通过运行update-alternatives
,/usr/bin/java
最终会符号链接到/usr/bin/jvm/java-6-oracle/bin/java
。
which java
返回的原因/usr/bin/java
是/usr/bin
在您PATH
之前/usr/bin/jvm/java-6-oracle/bin
。如果您运行which -a java
,它应该会显示/usr/bin/java
和/usr/bin/jvm/java-6-oracle/bin/java
。