Question Comment trouver la version Mac OS X à partir de Terminal?


Je sais comment trouver la version Mac OS X à partir de l'interface graphique: Apple Menu (top left) > About This Mac

Existe-t-il une commande de terminal qui me dira la version de Mac OS X?


136
2017-11-25 12:48


origine




Réponses:


Vous avez quelques options:

sw_vers -productVersion 

system_profiler SPSoftwareDataType

Chacun fera ce dont vous avez besoin et aura un format de sortie analysable (si c'est ce que vous recherchez).


196
2017-11-25 14:13



sw_vers est tout ce dont j'ai besoin. Merci! :) - Željko Filipin
Le premier ne vous donne que la version du système d'exploitation ("10.7.5"). Le second vous donne beaucoup d'informations supplémentaires telles que 32/64 bits. - Kent
Joli! J'allais fait chercher lsb_release Ou quelque chose de ce genre. Je n'aurais jamais repéré ces scripts. :RÉ - Alastair


La commande sw_vers montre la version.

Pour les anciens systèmes d'exploitation Mac, vous pouvez trouver des informations utiles dans Wikipédia.


7
2018-02-16 21:28





Si tout ce qui vous intéresse est la version majeure (10.10, 10.9), vous pouvez le faire

MAJOR_MAC_VERSION=$(sw_vers -productVersion | awk -F '.' '{print $1 "." $2}')

Je l'utilise dans quelques scripts qui doivent faire des choses différentes s'ils sont exécutés sur 10.8.x, 10.9.x et maintenant 10.10.


4
2017-10-20 19:59



Plus simple: sw_vers -productVersion | cut -d '.' -f 1,2 - waldyrious


Si vous cherchez à diviser le numéro de version de macOS basé sur la gestion de version sémantique pour la logique de script, voici un petit extrait de code que j'utilise

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

Vous pouvez utiliser ces variables dans la logique de script pour exécuter différentes commandes basées sur la version de macOS. Cela donne un contrôle légèrement plus granulaire vers la version du correctif ou de la version.

# 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
2017-10-14 02:07