Как узнать версию Mac OS X из терминала?

Я знаю, как найти версию Mac OS X из GUI:Apple Menu (top left) > About This Mac

есть ли команда терминала, которая скажет мне версию Mac OS X?

3
задан Daniel Beck
24.02.2023 19:46 Количество просмотров материала 3340
Распечатать страницу

4 ответа

у вас есть несколько вариантов:

sw_vers -productVersion 

system_profiler SPSoftwareDataType

либо сделает то, что вам нужно, и будет иметь выходной формат, который можно анализировать (если это то, что вам нужно).

197
отвечен delfuego 2023-02-26 03:34

команда sw_vers показывает версию.

для более старых Mac OS вы можете найти полезную информацию в Википедия.

7
отвечен EdmundsZ 2023-02-26 05:51

Если все, что тебя волнует-это основная версия (10.10, 10.9), вы можете сделать

MAJOR_MAC_VERSION=$(sw_vers -productVersion | awk -F '.' '{print  "." }')

Я использую это в нескольких скриптах, которые должны делать разные вещи, если работают на 10.8.x, 10.9.x и теперь 10.10.

4
отвечен Joe Block 2023-02-26 08:08

Если вы хотите разделить номер версии macOS на основе семантического управления версиями для логики скрипта, вот небольшой фрагмент кода, который я использую

product_version=$(sw_vers -productVersion)
os_vers=( ${product_version//./ } )
os_vers_major="${os_vers[0]}"
os_vers_minor="${os_vers[1]}"
os_vers_patch="${os_vers[2]}"
os_vers_build=$(sw_vers -buildVersion)

# Sample semver output
echo "${os_vers_major}.${os_vers_minor}.${os_vers_patch}+${os_vers_build}"
# 10.12.6+16G29

эти переменные можно использовать в логике сценариев для выполнения различных команд в зависимости от версии macOS. Это дает немного более детальный контроль до патча или версии сборки.

# Sample bash code
if [[ ${os_vers_minor} -ge 11 ]]; then
    DMG_FORMAT=ULFO
elif [[ ${os_vers_minor} -ge 4 ]]; then
    DMG_FORMAT=UDBZ
else
    DMG_FORMAT=UDZO
fi
2
отвечен n8felton 2023-02-26 10:25

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх