Comment savoir quelle version d'OS X je suis en ligne de commande?


68

Je me trouve souvent en SSH sur diverses machines OS X, et il serait utile de pouvoir indiquer la version d'OS XI utilisée lorsque je le fais. uname -ane fonctionne pas, car les versions du noyau Darwin ne changent pas toujours avec le reste du système.

Réponses:


78

sw_vers

Ma suggestion est d'utiliser sw_vers. Exemple de sortie en 10.6.4:

> sw_vers 
ProductName:    Mac OS X
ProductVersion: 10.6.4
BuildVersion:   10F569

La réponse suggérée system_profiler | grep 'System Version'est ce que j’ai essayé d’utiliser dans le passé, mais il ya deux problèmes.

  1. Il est lent, car il génère un vidage système complet de la machine, regroupant toutes les informations d'inventaire matériel et logiciel.
  2. La sortie de system_profiler a changé au fil du temps. Par exemple, la sortie de grep'Numéro de série' sous 10.6.4 est "Numéro de série (système): ZNNNNNZNZZZ" ", alors que sous 10.4.11, elle était" Numéro de série: ZNNNNZNZZZZ "- l’importance étant la capacité d'analyse syntaxique de la sortie et de l'ajout" (système) "pièce peut être problématique, sauf si vous attendez le changement.

1
Je retournerais ça autour. `` `Utilisez sw_vers… --------------------------- La réponse qui a suggéré system_profiler…` ``
Tim Visher

@ TimVisher D'accord. Je viens de modifier sa réponse pour la mettre en haut.
Joshua Pinter

37

Le moyen le plus simple est:

$ sw_vers -productVersion
10.6.4

De http://tinyapps.org/blog/mac/201008140700_os_x_version_terminal.html :

$ sw_vers
ProductName:    Mac OS X
ProductVersion: 10.6.4
BuildVersion:  
10F569
$ sw_vers -productVersion
10.6.4

Particulièrement utile lors de la réinitialisation d'un mot de passe en mode mono-utilisateur, car la méthode varie en fonction de la version de OS X en cours d'exécution.


Merci pour le shout-out Benjamin! J'ai mis à jour le poste d'inclure la vérification d' un OS X en mode hors connexion installer comme ceci: grep -2 ProductVersion /System/Library/CoreServices/SystemVersion.plist. Aloha, Miles
Miles Wolbe

8

Essaye ça:

 system_profiler  | grep 'System Version'

La réponse de Mike Gray est meilleure que celle-là. S'il vous plaît voir que


4
ce que Mike Gray a dit.

Le mode mono-utilisateur system_profiler SPSoftwareDataTypegagne là où sw_versperd.
devon


3

Le system_profilerpeut être exécuté comme system_profiler SPSoftwareDataType. Pas besoin de grep grâce à une sortie énorme.


Cela ne fournit pas de réponse à la question. Une fois que vous avez suffisamment de réputation, vous pourrez commenter n'importe quel message . au lieu de cela, fournissez des réponses qui ne nécessitent pas de clarification de la part du demandeur . - De l'avis
Jeff Schaller

@JeffSchaller semble que la réponse est bonne. Cela répond à la question.
α18sнιη

Il détermine la version d'OSX?
Jeff Schaller

C'est peut-être un commentaire de unix.stackexchange.com/a/584/117549 ?
Jeff Schaller

1
Oui, cela retourne dans la partie "Version système", voir OS X Version à partir de la ligne de commande , c’est une réponse pour moi au lieu d’un commentaire IMO.
αғsнιη
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.