Обновление только Safari через терминал на Big Sur

Существует новая версия Safari, и я пытаюсь обновить только Safari на своем компьютере с помощью команды терминала. У меня Биг Сур 11.6.3. Я сделал Softwareupdate -lи вижу там обновление Safari. Я пытаюсь softwareupdate -i --product-types Safari, но это никогда не работает. Я стараюсь не использовать это Labelимя.

На моем устройстве Monterey, я знаю, softwareupdate -i -safari-onlyработает. Однако я не могу найти хороший способ просто обновить Safari на устройствах Big Sur с помощью команды терминала.

Какие-либо предложения?

Ответы (2)

Мы должны перечислить обновления и применить точную конкретную метку, чтобы это работало.

Используйте softwareupdate -l -aдля отображения списка доступных обновлений и их меток.

Используйте softwareupdate -l -a | grep -i Safariдля отображения списка доступных обновлений Safari и их меток.

Используйте softwareupdate -i Safari15.3BigSurAuto-15.3для установки последнего обновления Safari. Используйте соответствующий ярлык, если вы хотите другую версию.

softwareupdateпопытается выйти из Safari перед его установкой. Вам также, возможно, потребуется перезагрузить пользовательское пространство, если вы не можете гарантировать, что у человека, использующего Mac, не будет запущен Safari или какая-либо из его библиотек.

Хорошо, после помощи bmike я придумал это. Это будет искать обновление Safari, захватывать метку и использовать метку для обновления Safari. Таким образом, скрипт будет работать с любым будущим обновлением Safari с другим именем метки.

check=$(softwareupdate -l | grep Safari | grep -o 'Safari[^[:blank:]]*' | head -n 1)
 echo "$check"
softwareupdate -i "$check"
Хорошее решение! Можно опубликовать свой собственный ответ в дополнение к моему ответу…