我必须自动执行一个过程,在这个过程中,我需要在RHEL 7上安装java,使用rpm包,然后在安装位置更新安全jar。一旦我执行java rpm,我将如何得到正确的安装路径?当我执行which java
时,它显示的是/bin/java
。然而,我需要安装位置使用shell脚本。这里,实际安装发生在/usr/java/jdk1.7.0_55/jre
。我想知道这个位置。谁能告诉我怎么取回这个?
readlink
程序( coretils 的一部分,可以在任何RHEL版本上使用)可以解析符号链接:
foo=$(readlink -f $(which java))
echo $foo
(您可能也有realpath
,但也可能没有)。
Oracle的Java RPM包支持'alternatives'系统,它提供了您正在寻找的详细信息。例如,在安装了最新的JRE之后,'alternatives'报告如下:
[user@host ~]$ alternatives --display java
java - status is auto.
link currently points to /usr/java/jre1.8.0_60/bin/java
etc...