我正在使用SSH客户端。我已经运行了环境变量
echo $ JAVA_HOME没有返回任何内容。我想在unix中找到安装java的确切位置。有什么其他命令可以帮助我吗?
答案 0 :(得分:5)
由于echo $JAVA_HOME
未提供路径,因此可能尚未设置此变量。相反,which命令会为您提供路径。
which java
请注意,如果命令为symlink
,则可能无法提供确切的位置。如果是这种情况,则必须通过其他方法解析symlink
。
说readlink
或通过python (os.path.realpath(path))
答案 1 :(得分:3)
which
命令为您提供java
二进制文件的路径:
which java
但如果它只是一个符号链接(例如alternatives
使用),那么这将无法获得二进制文件的真实路径。您可以使用ls -l
列出符号链接指向的位置:
ls -l `which java`
为我输出
/usr/bin/java -> /etc/alternatives/java
然后按照符号链接,直到您到达源头。或者,如果您的系统可用,请将readlink
命令与符号链接后面的-f
结合使用:
readlink -f `which java`
编辑:Ankit在评论中写道readlink
不是标准的UNIX命令,-f
似乎也不适用于mac,所以这可能不是你的选择,尽管{ {3}}页面介绍了如何通过greadlink
让brew
在Mac上获得此功能:
brew install coreutils greadlink -f
which java
答案 2 :(得分:2)
在Unix上你应该能够使用'哪个java'命令。
答案 3 :(得分:2)
whereis java
据我记得,它提供了与位置的符号链接。
答案 4 :(得分:1)
您可以尝试使用这两个命令
$ which java
$ whereis java
答案 5 :(得分:1)
试试这个
$ which java
可能导致输出为
/usr/bin/java
答案 6 :(得分:0)
通过将 /jre
附加到以下命令的输出目录,您可以很容易地找到 Java 主目录
sudo update-java-alternatives -l
样本输出将是
java-11-oracle 1091 /usr/lib/jvm/java-11-oracle
现在附加 /jre
使 JAVA HOME 为
/usr/lib/jvm/java-11-oracle/jre