2009-11-25 12:48:57 +0000 2009-11-25 12:48:57 +0000
155
155

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

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

Y a-t-il une commande Terminal qui me dira quelle est la version de Mac OS X ?

Réponses (4)

216
216
216
2009-11-25 14:13:02 +0000

Vous avez quelques options :

sw_vers -productVersion 

system_profiler SPSoftwareDataType

L'un ou l'autre fera ce que vous voulez, et aura un format de sortie qui sera parseable (si c'est ce que vous recherchez).

7
7
7
2014-02-16 21:28:28 +0000

La commande sw_vers indique la version.

Pour les anciens Mac OS, vous pouvez trouver des informations utiles dans Wikipedia .

4
4
4
2014-10-20 19:59:27 +0000

Si tout ce qui vous intéresse est la version majeure (10.10, 10.9), vous pouvez 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 fonctionnent sous 10.8.x, 10.9.x et maintenant 10.10.

2
2
2
2017-10-14 02:07:02 +0000

Si vous cherchez à diviser le numéro de version de macOS en fonction du versionnement sémantique pour la logique de script, voici un petit bout 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 jusqu'à la version de patch ou de 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