[英]Find all Java versions in the system path
我需要知道在系統路徑中查找所有 Java 版本的命令。 我知道which -a java
會打印在系統路徑中可以找到 java 可執行文件的所有位置,但是我想獲取每個這些可執行文件的版本信息。
which -a java | xargs -I{} echo "echo {};{} -version;echo" | sh
這將打印在系統路徑中找到的每個 java 可執行文件的路徑,以及該可執行文件的版本信息,並用換行符分隔條目。 它的工作原理是這樣的:
which -a java
的輸出通過管道which -a java
到 xargsxargs -I{} echo
到構建體bash
命令中,用輸入的各行從which
替換{}
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.