Linux RedhatシステムでJavaバージョンをキャプチャする方法
私たちは次のことを試しました。
java -version | head -1 | awk '{print $NF}' | sed 's/"//g'
しかし、我々は得る
openjdk version "1.8.0_65"
OpenJDK Runtime Environment (build 1.8.0_65-b17)
OpenJDK 64-Bit Server VM (build 25.65-b01, mixed mode)
そして予想される出力は次のようになります。
1.8.0_65
答え1
java -version
標準エラーとして出力されるため、以下をリダイレクトする必要があります。
java -version 2>&1 | head -1 | awk '{print $NF}' | sed 's/"//g'
単一のAWK呼び出しでこれを行うことができます。
java -version 2>&1 | awk 'NR==1 {gsub("\"", "", $NF); print $NF}'