¿Cómo puedo saber en qué versión de OS X estoy desde la línea de comando?

¿Cómo puedo saber en qué versión de OS X estoy desde la línea de comando?

Con frecuencia me encuentro haciendo SSH en varias máquinas con OS X, y sería útil si pudiera saber qué versión de OS XI estaba encendida cuando lo hago. uname -ano funciona del todo, ya que las versiones del kernel de Darwin no siempre cambian con el resto del sistema.

Respuesta1

sw_vers

Mi sugerencia es utilizar sw_vers. Salida de ejemplo a partir de 10.6.4:

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

La respuesta que sugirió system_profiler | grep 'System Version'es la que intenté usar en el pasado, pero tiene 2 problemas.

  1. Es lento ya que genera un volcado completo de system_profiler de la máquina, reuniendo toda la información del inventario de hardware y software.
  2. La salida de system_profiler ha cambiado con el tiempo. por ejemplo, la salida de grep'Número de serie' en 10.6.4 es "Número de serie (sistema): ZNNNNNZNZZZ", mientras que en 10.4.11 era "Número de serie: ZNNNNNZNZZZ"; la importancia es la capacidad de análisis de la salida y el complemento " (sistema)" puede ser problemático a menos que esté esperando el cambio.

Respuesta2

La forma más sencilla es:

$ sw_vers -productVersion
10.6.4

Dehttp://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

Especialmente útil al restablecer una contraseña en el modo de usuario único, ya que el método varía según la versión de OS X que se esté ejecutando.

Respuesta3

Prueba esto:

 system_profiler  | grep 'System Version'

La respuesta de Mike Gray es mejor que esto. por favor mira eso

Respuesta4

Se system_profilerpuede ejecutar como system_profiler SPSoftwareDataType. No hay necesidad de buscar en una producción enorme.

información relacionada