-1
我需要知道一個命令以查找系統路徑中的所有Java版本。我知道which -a java
會打印所有可以在系統路徑中找到java可執行文件的位置,但是我想要獲取每個可執行文件的版本信息。查找系統路徑中的所有Java版本
我需要知道一個命令以查找系統路徑中的所有Java版本。我知道which -a java
會打印所有可以在系統路徑中找到java可執行文件的位置,但是我想要獲取每個可執行文件的版本信息。查找系統路徑中的所有Java版本
which -a java | xargs -I{} echo "echo {};{} -version;echo" | sh
這將打印的路徑中的每個系統路徑中發現的Java可執行的,以及該可執行文件的版本信息,以及單獨的條目以換行符。它的工作原理是這樣:
which -a java
輸出到xargs的xargs -I{} echo
構建bash
命令,從which
更換{}
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命令。例如。如果您想知道python
的所有版本,您可以運行
which -a python | xargs -I{} echo "echo {};{} --version;echo" | sh