Ошибка проверки 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 в документации).