簡體   English   中英

在系統路徑中查找所有 Java 版本

[英]Find all Java versions in the system path

我需要知道在系統路徑中查找所有 Java 版本的命令。 我知道which -a java會打印在系統路徑中可以找到 java 可執行文件的所有位置,但是我想獲取每個這些可執行文件的版本信息。

which -a java | xargs -I{} echo "echo {};{} -version;echo" | sh

這將打印在系統路徑中找到的每個 java 可執行文件的路徑,以及該可執行文件的版本信息,並用換行符分隔條目。 它的工作原理是這樣的:

  1. which -a java的輸出通過管道which -a java到 xargs
  2. 使用xargs -I{} echo到構建體bash命令中,用輸入的各行從which替換{}
  3. 將構建的bash命令通過管道bash到系統的默認 shell 執行器中。

我機器上的示例輸出給出

/usr/bin/java
java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)

/usr/lib/jvm/java-8-oracle/bin/java
java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)

請注意,如果您想知道不同可執行文件的版本,您可以修改構造為適當打印版本信息的 bash 命令。 EG 如果你想知道你可以運行的所有版本的python

which -a python | xargs -I{} echo "echo {};{} --version;echo" | sh

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM