180 votes

Comment trouver la version de Mac OS X depuis le terminal ?

Je sais comment trouver la version de Mac OS X depuis l'interface graphique : Menu Pomme (en haut à gauche) > À propos de ce Mac

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

248voto

delfuego Points 2686

Vous avez quelques options:

sw_vers -productVersion 

system_profiler SPSoftwareDataType

L'un ou l'autre fera ce dont vous avez besoin et aura un format de sortie qui est analysable (si c'est ce que vous recherchez).

10voto

EdmundsZ Points 109

La commande sw_vers affiche la version.

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

5voto

JoshFinnie Points 1366

Si tout ce qui vous intéresse est la version principale (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 sont exécutés sur 10.8.x, 10.9.x et maintenant 10.10.

3voto

n8felton Points 313

Si vous cherchez à diviser le numéro de version de macOS en fonction de la version sémantique pour la logique du 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)

# Exemple de sortie semver
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 du script pour exécuter différentes commandes en fonction de la version de macOS. Cela donne un contrôle légèrement plus granulaire jusqu'à la version du correctif ou de la construction.

# Exemple de code bash
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

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X