So come trovare la versione di Mac OS X dalla GUI: Apple Menu (top left) > About This Mac
Esiste un comando Terminal che mi dirà la versione di Mac OS X?
So come trovare la versione di Mac OS X dalla GUI: Apple Menu (top left) > About This Mac
Esiste un comando Terminal che mi dirà la versione di Mac OS X?
Risposte:
Hai alcune opzioni:
sw_vers -productVersion
system_profiler SPSoftwareDataType
O farà ciò di cui hai bisogno e avrà un formato di output che è analizzabile (se è quello che stai cercando).
lsb_release
qualcosa o qualcosa del genere. Non avrei mai individuato quegli script. : D
Se tutto ciò che ti interessa è la versione principale (10.10, 10.9), puoi farlo
MAJOR_MAC_VERSION=$(sw_vers -productVersion | awk -F '.' '{print $1 "." $2}')
Lo uso in un paio di script che devono fare cose diverse se eseguito su 10.8.x, 10.9.x e ora 10.10.
sw_vers -productVersion | cut -d '.' -f 1,2
Se stai cercando di dividere il numero di versione di macOS in base al controllo delle versioni semantico per la logica degli script, ecco un piccolo frammento di codice che 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
È possibile utilizzare queste variabili nella logica dello script per eseguire diversi comandi in base alla versione di macOS. Questo dà un controllo leggermente più granulare fino alla patch o alla versione 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