Как узнать, какая у меня версия OS X, с помощью командной строки?

Как узнать, какая у меня версия OS X, с помощью командной строки?

Я часто подключаюсь по SSH к различным машинам с OS X, и было бы полезно знать, какая версия OS X установлена, когда я это делаю. uname -aЭто не совсем работает, поскольку версии ядра Darwin не всегда меняются вместе с остальной частью системы.

решение1

sw_vers

Я предлагаю использовать sw_vers. Пример вывода для версии 10.6.4:

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

Предложенный ответ system_profiler | grep 'System Version'— это то, что я пытался использовать в прошлом, но у него есть 2 проблемы.

  1. Он работает медленно, поскольку генерирует полный дамп system_profiler машины, собирая всю информацию об инвентаризации оборудования и программного обеспечения.
  2. Вывод system_profiler со временем изменился. Например, вывод grepдля «Серийного номера» в версии 10.6.4 — «Серийный номер (система): ZNNNNNNZNZZZ», тогда как в версии 10.4.11 это был «Серийный номер: ZNNNNZNZZZ» — важно, чтобы вывод можно было проанализировать, и добавление части «(система)» может вызвать проблемы, если вы не ожидаете изменений.

решение2

Самый простой способ:

$ sw_vers -productVersion
10.6.4

От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

Особенно удобно при сбросе пароля в однопользовательском режиме, поскольку метод различается в зависимости от используемой версии OS X.

решение3

Попробуй это:

 system_profiler  | grep 'System Version'

Ответ Майка Грея лучше, чем этот. Пожалуйста, посмотрите на это

решение4

Можно system_profilerзапустить как system_profiler SPSoftwareDataType. Нет необходимости продираться через огромный вывод.

Связанный контент