Como descobrir a versão Mac OS X a partir do Terminal?
Eu sei como encontrar a versão Mac OS X da GUI: Apple Menu (top left) > About This Mac
Existe algum comando Terminal que me diga a versão Mac OS X?
Eu sei como encontrar a versão Mac OS X da GUI: Apple Menu (top left) > About This Mac
Existe algum comando Terminal que me diga a versão Mac OS X?
Se tudo o que lhe interessa é a versão principal (10.10, 10.9), pode fazer
MAJOR_MAC_VERSION=$(sw_vers -productVersion | awk -F '.' '{print $1 "." $2}')
Eu utilizo isto num par de scripts que têm de fazer coisas diferentes se forem executados em 10.8.x, 10.9.x e agora 10.10.
Se pretende dividir o número da versão macOS com base na versão semântica para lógica de script, aqui está um pequeno trecho do código que uso
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
Pode usar estas variáveis na lógica de script para executar diferentes comandos baseados na versão do macOS. Isto dá um controlo ligeiramente mais granular até à versão patch ou build.
# 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