
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 -a
no 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.
- 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.
- 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_profiler
puede ejecutar como system_profiler SPSoftwareDataType
. No hay necesidad de buscar en una producción enorme.