2017-06-06 6 views
-1

システムパスにあるすべてのバージョンのJavaを見つけるコマンドを知る必要がありました。 which -a javaは、Java実行ファイルがシステムパスにあるすべての場所を表示することを知っていましたが、これらの実行可能ファイルのバージョン情報を取得したかったのです。システムパスのすべてのJavaバージョンを見つける

答えて

1

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

これは改行でシステムパスにJavaの実行ファイルの各パス、ならびにその実行可能ファイルのバージョン情報、及び別のエントリを表示します。それはそうのように動作します:

  1. パイプxargsの
  2. 使用xargs -I{} echowhich -a javaからの出力は、システムのデフォルトに{}
  3. パイプ構築bashコマンドを交換whichからの入力の各行で、bashコマンドを構築しますシェルエグゼキュータ。

私のマシン上のサンプル出力は、さまざまな実行可能ファイルのバージョンを知りたい場合は、あなたが適切なバージョン情報を印刷するように構成されますbashコマンドを変更することができることを

/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) 

注意を与えます。例えば。あなたがpythonのすべてのバージョンを知りたい場合は、実行することができます

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

関連する問題