Mac アプリケーションのパッケージを作成する必要があり、PackageMaker を使用しています
JVM のバージョンを確認する必要があります。10.6 よりも小さい場合は、インストールを中止し、最初に JVM をインストールするようにユーザーに依頼します。
そのために、次のシェル スクリプトを使用しています。
REQUIRED_VERSION=106
#Converting the value in numeric value for comparison in later part of the script REQUIRED_VERSION=`echo $REQUIRED_VERSION | sed -e 's;\.;0;g'`
#Redirecting complete output of java -version to tmp.ver file
java -version >tmp.ver 2>&1
#Getting current version from the tmp.ver file
VERSION=`cat tmp.ver | grep "java version" | awk '{ print substr($3, 2, length($3)-2); }'`
rm tmp.ver
#Coverting into numeric value
VERSION=`echo $VERSION | awk '{ print substr($1, 1, 3); }' | sed -e 's;\.;0;g'`
echo $VERSION
if [ $VERSION ]
then
if [ $VERSION -gt $REQUIRED_VERSION ] || [ $VERSION -eq $REQUIRED_VERSION ]
then
echo "requirement matched"
exit 1;
else
echo "lower version"
exit 0;
fi
else
echo "not able to find java version"
exit 0;
fi
パッケージメーカーでは、合格するためにチェックを入れましたが、すべての場合に失敗した状態に達します。つまり、書き込まれた型が正しくありません。そのパッケージの「シェルスクリプトからの正しい戻り値は何ですか」作成者はスクリプトの成功または失敗を理解できます。