Чтобы получить версию Visual Studio для Mac:
/usr/libexec/PlistBuddy -c 'print :CFBundleVersion' /Applications/Visual\ Studio.app/Contents/Info.plist
Чтобы получить текущую версию Mono:
mono --version
или вы можете посмотреть, на что ссылается текущая версия:
la /Library/Frameworks/Mono.framework/Versions/Current
Аналогично для платформ Xamarin.iOS и Xamarin.Android:
la /Library/Frameworks/Xamarin.Android.framework/Versions/Current
la /Library/Frameworks/Xamarin.iOS.framework/Versions/Current
EDIT: Если вам нужна только версия из команд la
, вы можете добавить к командам постфикс | sed 's/^.*-> //g'
. Это заменит все до ->
, включая эту стрелку, ничем, поэтому будет отображаться только номер версии. Итак, что-то вроде:
la /Library/Frameworks/Xamarin.iOS.framework/Versions/Current | sed 's/^.*-> //g'
Дал бы 11.4.0.93
.
Для Mono.framework это абсолютный путь, поэтому вы можете снова подключиться к sed 's!.*/!!'
, чтобы просто получить «имя файла»:
la /Library/Frameworks/Mono.framework/Versions/Current | sed 's/^.*-> //g' | sed 's!.*/!!'
ИЗМЕНИТЬ:
Добавляем все это в скрипт:
#!/usr/bin/env bash
mono_version=$(ls -n /Library/Frameworks/Mono.framework/Versions/Current | sed 's/^.*-> //g' | sed 's!.*/!!')
vs_version=$(/usr/libexec/PlistBuddy -c 'print :CFBundleVersion' /Applications/Visual\ Studio.app/Contents/Info.plist)
ios_version=$(ls -n /Library/Frameworks/Xamarin.iOS.framework/Versions/Current | sed 's/^.*-> //g')
android_version=$(ls -n /Library/Frameworks/Xamarin.Android.framework/Versions/Current | sed 's/^.*-> //g')
echo "mono:" $mono_version
echo "vs version:" $vs_version
echo "ios version:" $ios_version
echo "android version:" $android_version
Не забудьте запустить chmod +x
для файла .sh
. Затем вы можете запустить это с помощью sh version.sh
, и он выплюнет:
mono: 5.4.1
vs version: 7.3.0.708
ios version: 11.4.0.93
android version: 8.1.0-21
person
Cheesebaron
schedule
03.11.2017