Я часто нахожусь в SSHing на различных машинах OS X, и было бы полезно, если бы я мог сказать, какая версия OS XI была, когда я делаю это. uname -aне совсем работает, так как версии ядра Дарвина не всегда меняются вместе с остальной системой.
Я часто нахожусь в SSHing на различных машинах OS X, и было бы полезно, если бы я мог сказать, какая версия OS XI была, когда я делаю это. uname -aне совсем работает, так как версии ядра Дарвина не всегда меняются вместе с остальной системой.
Ответы:
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для «Serial Number» на 10.6.4 выводится «Serial Number (system): ZNNNNNZNZZZ», в то время как для 10.4.11 это было «Serial Number: 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. Алоха, Майлз
Вот статья в блоге с инструкциями Как получить версию 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…` ``