Wie kann ich über die Befehlszeile feststellen, auf welcher Version von OS X ich mich befinde?


68

Ich stelle häufig fest, dass ich in verschiedene OS X-Computer SSH-fähig bin, und es wäre nützlich, wenn ich feststellen könnte, auf welcher OS XI-Version sich dies befand. uname -afunktioniert nicht ganz, da sich Darwin-Kernelversionen nicht immer mit dem Rest des Systems ändern.

Antworten:


78

sw_vers

Mein Vorschlag ist zu verwenden sw_vers. Beispielausgabe ab 10.6.4:

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

Die vorgeschlagene Antwort system_profiler | grep 'System Version'ist das, was ich in der Vergangenheit versucht habe, aber es gibt zwei Probleme.

  1. Es ist langsam, da es einen vollständigen system_profiler-Speicherauszug des Computers generiert, in dem alle Hardware- und Softwareinventurinformationen erfasst werden.
  2. Die Ausgabe von system_profiler hat sich im Laufe der Zeit geändert. Beispiel: Die Ausgabe von grepfür 'Seriennummer' in 10.6.4 ist "Seriennummer (System): ZNNNNNZNZZZ", während sie in 10.4.11 "Seriennummer: ZNNNNZNZZZ" lautete - wichtig ist die Analysefähigkeit der Ausgabe und der Addition. " (System) "kann problematisch sein, wenn Sie die Änderung nicht erwarten.

1
Ich würde das umdrehen. `` `Verwenden Sie sw_vers… --------------------------- Die Antwort, die vorschlug system_profiler…` `
Tim Visher

@ TimVisher Einverstanden. Ich habe seine Antwort soeben bearbeitet, dass sie ganz oben steht.
Joshua Pinter

37

Der einfachste Weg ist:

$ sw_vers -productVersion
10.6.4

Von 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

Besonders praktisch beim Zurücksetzen eines Kennworts im Einzelbenutzermodus, da die Methode abhängig von der ausgeführten OS X-Version variiert.


Danke für den Schrei Benjamin! Ich habe den Beitrag aktualisiert eine Offline - OS X wie so installieren , um einschliessen: grep -2 ProductVersion /System/Library/CoreServices/SystemVersion.plist. Aloha, Miles
Miles Wolbe

8

Versuche dies:

 system_profiler  | grep 'System Version'

Die Antwort von Mike Gray ist besser als diese. Bitte sehen Sie das


4
was Mike Gray gesagt hat.

Einzelbenutzermodus system_profiler SPSoftwareDataTypegewinnt, wo sw_versverliert.
Devon


3

Die system_profilerkönnen als ausgeführt werden system_profiler SPSoftwareDataType. Keine Notwendigkeit, durch große Ausgaben zu springen.


Dies ist keine Antwort auf die Frage. Sobald Sie über eine ausreichende Reputation verfügen, können Sie jeden Beitrag kommentieren . Geben Sie stattdessen Antworten an, die keine Klärung durch den Fragesteller erfordern . - Aus der Bewertung
Jeff Schaller

@ JeffSchaller sieht die Antwort ist in Ordnung. Es gibt eine Antwort auf die Frage.
αғsнιη

Es bestimmt die Version von OSX?
Jeff Schaller

Vielleicht soll es ein Kommentar von unix.stackexchange.com/a/584/117549 sein ?
Jeff Schaller

1
Ja, es wird im Teil "Systemversion" zurückgegeben, siehe OS X-Version von der Befehlszeile , es ist eine Antwort auf mich anstelle eines Kommentars IMO.
αғsнιη
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.