
Ich stelle häufig fest, dass ich mich per SSH mit verschiedenen OS X-Rechnern verbinde und es wäre hilfreich, wenn ich dabei wissen könnte, welche OS XI-Version installiert ist. uname -a
Funktioniert nicht ganz, da sich die Darwin-Kernel-Versionen nicht immer mit dem Rest des Systems ändern.
Antwort1
sw_vers
Ich schlage vor, zu verwenden sw_vers
. Beispielausgabe ab 10.6.4:
> sw_vers
ProductName: Mac OS X
ProductVersion: 10.6.4
BuildVersion: 10F569
Ich habe in der Vergangenheit versucht , die vorgeschlagene Antwort system_profiler | grep 'System Version'
zu verwenden, sie weist jedoch zwei Probleme auf.
- Es ist langsam, da es einen vollständigen Systemprofiler-Dump der Maschine generiert und alle Hardware- und Softwareinventarinformationen sammelt.
- Die Ausgabe von system_profiler hat sich im Lauf der Zeit geändert. Beispielsweise lautet die Ausgabe
grep
für „Seriennummer“ unter 10.6.4 „Seriennummer (System): ZNNNNNZNZZZ“, während sie unter 10.4.11 „Seriennummer: ZNNNNZNZZZZ“ lautete. Wichtig ist dabei die Analysierbarkeit der Ausgabe, und das Hinzufügen des Teils „(System)“ kann problematisch sein, wenn Sie nicht mit der Änderung rechnen.
Antwort2
Der einfachste Weg ist:
$ sw_vers -productVersion
10.6.4
Aushttp://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 Passworts im Einzelbenutzermodus, da die Methode je nach ausgeführter OS X-Version unterschiedlich ist.
Antwort3
Versuche dies:
system_profiler | grep 'System Version'
Mike Grays Antwort ist besser als diese. Bitte beachten Sie, dass
Antwort4
Das system_profiler
kann als ausgeführt werden system_profiler SPSoftwareDataType
. Sie müssen nicht durch riesige Ausgaben greppen.