Come posso sapere su quale versione di OS X sono attivo dalla riga di comando?


68

Mi ritrovo spesso a utilizzare SSHing su varie macchine OS X e sarebbe utile se potessi dire quale versione di OS X era attiva mentre lo faccio. uname -anon funziona del tutto, poiché le versioni del kernel Darwin non cambiano sempre con il resto del sistema.

Risposte:


78

sw_vers

Il mio consiglio è di usare sw_vers. Esempio di output a partire da 10.6.4:

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

La risposta che ha suggerito system_profiler | grep 'System Version'è quella che ho cercato di utilizzare in passato, ma ha 2 problemi.

  1. È lento poiché genera un dump completo system_profiler della macchina, raccogliendo tutte le informazioni di inventario hardware e software.
  2. L'output di system_profiler è cambiato nel tempo. es. l'output di grep"Numero di serie" su 10.6.4 è "Numero di serie (sistema): ZNNNNNZNZZZ", mentre su 10.4.11 era "Numero di serie: ZNNNNZNZZZZ" - l'importanza è l'abilità di analisi dell'output e dell'aggiunta " (sistema) "pezzo può essere problematico a meno che non ti aspetti il ​​cambiamento.

1
Lo capovolgerei. `` Usa sw_vers ... --------------------------- La risposta che ha suggerito system_profiler... ``
Tim Visher

@TimVisher concordato. Ho appena modificato la sua risposta per metterla in cima.
Joshua Pinter,

37

Il modo più semplice è:

$ sw_vers -productVersion
10.6.4

Da 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

Particolarmente utile quando si reimposta una password in modalità utente singolo, poiché il metodo varia in base alla versione di OS X in esecuzione.


Grazie per lo strillo Benjamin! Ho aggiornato il post per includere il controllo di un linea OS X installare in questo modo: grep -2 ProductVersion /System/Library/CoreServices/SystemVersion.plist. Aloha, Miles
Miles Wolbe,

8

Prova questo:

 system_profiler  | grep 'System Version'

La risposta di Mike Gray è migliore di così. Per favore vedi quello


4
cosa ha detto Mike Gray.

La modalità utente singolo system_profiler SPSoftwareDataTypevince quando sw_versperde.
Devon,


3

Il system_profilerpuò essere eseguito come system_profiler SPSoftwareDataType. Non c'è bisogno di grep attraverso un enorme output.


Questo non fornisce una risposta alla domanda. Una volta che hai una reputazione sufficiente , sarai in grado di commentare qualsiasi post ; fornire invece risposte che non richiedono chiarimenti da parte del richiedente . - Dalla recensione
Jeff Schaller

@JeffSchaller sembra che la risposta vada bene. Fa una risposta alla domanda.
αғsнιη,

Determina la versione di OSX?
Jeff Schaller

Forse è pensato per essere un commento di unix.stackexchange.com/a/584/117549 ?
Jeff Schaller

1
Sì, torna nella parte "Versione di sistema", vedi la versione OS X dalla riga di comando , è una risposta per me invece di un commento IMO.
αғsнιη,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.