[英]how to find the exact location where java is installed in unix
我正在使用 SSH 客戶端。 我仍然運行了環境變量
echo $JAVA_HOME 沒有返回任何內容。 我想找到在 unix 中安裝 java 的確切位置。 有沒有其他命令可以幫助我解決這個問題?
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,因此這可能不是您的選擇,盡管此頁面描述了如何獲取greadlink
以獲取此功能在 Mac 上通過brew
:
brew install coreutils greadlink -f
which java
由於echo $JAVA_HOME
沒有給你路徑,這個變量可能還沒有設置。 相反,哪個命令會給你路徑。
which java
請注意,如果 command 是symlink
,這可能不會為您提供確切位置。 如果是這種情況,您必須通過其他方法解析symlink
。 說readlink
或通過 python (os.path.realpath(path))
你能跑嗎? whereis java
據我所知,它提供了指向位置的符號鏈接。
在 Unix 上,您應該能夠使用“which java”命令。
您可以嘗試使用這兩個命令
$ which java
$ whereis java
試試這個
$ which java
可能導致輸出為
/usr/bin/java
通過將/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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.