Jak sprawdzić wersję Mac OS X z poziomu Terminala?
Wiem jak znaleźć wersję Mac OS X z GUI: Apple Menu (top left) > About This Mac
Czy istnieje polecenie Terminala, które powie mi wersję Mac OS X?
Wiem jak znaleźć wersję Mac OS X z GUI: Apple Menu (top left) > About This Mac
Czy istnieje polecenie Terminala, które powie mi wersję Mac OS X?
Jeśli wszystko, na czym ci zależy, to główna wersja (10.10, 10.9), możesz zrobić
MAJOR_MAC_VERSION=$(sw_vers -productVersion | awk -F '.' '{print $1 "." $2}')
Używam tego w kilku skryptach, które muszą robić różne rzeczy, jeśli są uruchomione na 10.8.x, 10.9.x i teraz 10.10.
Jeśli szukasz podziału numeru wersji macOS w oparciu o semantyczne wersjonowanie dla logiki skryptu, oto mały wycinek kodu, którego używam
product_version=$(sw_vers -productVersion)
os_vers=( ${product_version//./ } )
os_vers_major="${os_vers[0]}"
os_vers_minor="${os_vers[1]}"
os_vers_patch="${os_vers[2]}"
os_vers_build=$(sw_vers -buildVersion)
# Sample semver output
echo "${os_vers_major}.${os_vers_minor}.${os_vers_patch}+${os_vers_build}"
# 10.12.6+16G29
Możesz użyć tych zmiennych w logice skryptu, aby uruchomić różne polecenia w oparciu o wersję macOS. Daje to nieco bardziej ziarnistą kontrolę, aż do wersji poprawki lub kompilacji.
# Sample bash code
if [[${os_vers_minor} -ge 11]]; then
DMG_FORMAT=ULFO
elif [[${os_vers_minor} -ge 4]]; then
DMG_FORMAT=UDBZ
else
DMG_FORMAT=UDZO
fi