Я часто знаходжу SSHing на різних машинах OS X, і було б корисно, якби я міг сказати, на якій версії OS XI був, коли я це роблю. uname -a
не зовсім працює, оскільки версії ядра Darwin не завжди змінюються з рештою системи.
Я часто знаходжу SSHing на різних машинах OS X, і було б корисно, якби я міг сказати, на якій версії OS XI був, коли я це роблю. uname -a
не зовсім працює, оскільки версії ядра Darwin не завжди змінюються з рештою системи.
Відповіді:
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 проблеми.
grep
для "Серійного номера" на 10.6.4 - "Серійний номер (система): ZNNNNNZNZZZ", тоді як 10.4.11 - "Серійний номер: ZNNNNZNZZZZ" - важливим є розбір здатності виводу та додавання " (система) "деталь може бути проблематичною, якщо ви не очікуєте змін.Найпростіший спосіб:
$ 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 працює.
grep -2 ProductVersion /System/Library/CoreServices/SystemVersion.plist
. Aloha, Miles
Ось стаття в блозі з інструкціями, як отримати версію Mac OS X у сценарії оболонки
OS_VERSION=`/usr/bin/defaults read "$3/System/Library/CoreServices/SystemVersion" ProductVersion`
echo "$OS_VERSION"
system_profiler
Може працювати як system_profiler SPSoftwareDataType
. Немає необхідності проглядати величезний вихід.
system_profiler
… `` `