it-swarm-eu.dev

Come scoprire la versione per Mac OS X dal terminale?

So come trovare la versione per Mac OS X dalla GUI: Apple Menu (top left) > About This Mac

C'è un comando Terminale che mi dirà la versione per Mac OS X?

146
Željko Filipin

Hai alcune opzioni:

sw_vers -productVersion 

system_profiler SPSoftwareDataType

O farà quello che ti serve e avrà un formato di output che è parseable (se è quello che cerchi).

205
delfuego

Il comando sw_vers mostra la versione.

Per i vecchi Mac OS puoi trovare informazioni utili in Wikipedia .

7
EdmundsZ

Se tutto quello 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.

4
Joe Block

Se stai cercando di dividere il numero di versione di macOS basato sul versioning semantico per la logica di 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 di script per eseguire comandi diversi in base alla versione di macOS. Ciò fornisce un controllo leggermente più granulare verso la patch o la versione di 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
2
n8felton