デフォルトでは、実行しているコンピュータでJavaのバージョンを確認し、バージョン番号に基づいて操作を実行するスクリプトがあります。
私の問題は、SunOとLinuxシステムで同じコマンドを使用したいということです。
私がこれに最も近いのは...
SunO:
java -version 2>&1 | nawk -F '"' '/version/ {print $2}'
これは期待される出力を提供します1.7.0_09
そして…
Linux:
java -version2>&1 | awk -F '"' '/version/ {print $2}'
これは期待される出力を提供します1.8.0_05
異なるオペレーティングシステムで同じコマンドを使用して同じ結果が得られるかどうかを知りたいです。
答え1
移植可能な方法は次のとおりです。
java -version 2>&1 | PATH=`getconf PATH` awk -F '"' '/version/ {print $2}'
Unixの実装に基づいて正しい場所を推測する一般的なアドバイスの代わりに、getconf PATH
POSIX準拠のコマンドパスを返すコマンドを使用します。