Ошибка проверки Package Maker из сценария оболочки

Мне нужно создать пакет для моего приложения 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

и в пакете Maker я поставил проверку для прохождения, но во всех случаях его попадание в состояние сбоя, т. е. написанный тип неверен, может кто-нибудь мне помочь, с "Что должно быть правильное возвращаемое значение из сценария оболочки оболочки" этот пакет создатель может понять, что его сценарий пройден или не выполнен.

1 ответ

Решение

exit 0 это то, что вы возвращаете из сценария InstallationCheck, чтобы указать успех.

Все остальное указывает на ошибку.

Обратный ваш 0и 1в вашем сценарии, и вы должны быть в порядке.

И этот ответ должен быть в порядке для старой версии PackageMaker, которую вы используете. Более поздние версии PackageMaker могут поддерживать сценарии InstallationCheck, но в текущей документации Apple для PackageMaker это вообще не упоминается, а вместо этого фокусируется на "Панели требований к пакетам продуктов" (см. Рис. 2-8 в документации).

Другие вопросы по тегам