0

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

パッケージメーカーでは、合格するためにチェックを入れましたが、すべての場合に失敗した状態に達します。つまり、書き込まれた型が正しくありません。そのパッケージの「シェルスクリプトからの正しい戻り値は何ですか」作成者はスクリプトの成功または失敗を理解できます。

4

1 に答える 1

0

exit 0成功を示すために InstallationCheck スクリプトから返されるものです。

それ以外はエラーを示します。

スクリプトで と を逆にする0と、準備完了です。1

この回答は、使用している PackageMaker の古いバージョンでは問題ないはずです。最近のバージョンの PackageMaker は InstallationCheck スクリプトをサポートしている可能性がありますが、PackageMaker の現在の Apple ドキュメントではこれについてはまったく言及されておらず、代わりに「製品パッケージ要件ペイン」に焦点を当てています (ドキュメントの図 2-8 を参照)。

于 2012-02-24T06:11:33.027 に答える