Почему OS X имеет bash v3.2.57?


10

OS X поставляется с версией bash 3.2.57 вместо bash версии 4.3.39, которую GNU перечисляет как текущий стабильный выпуск bash .

Есть ли способ обновить bash на Mac OS X?


Ответы:


9

Обратите внимание, что первоначальный вопрос спрашивал, почему Apple поставила старую версию bash, а затем спросил, как обновить. Это ответ на оригинал. Если вопрос только последний, то это дубликат

Вы должны спросить Apple, почему. Однако я хотел бы отметить, что bash теперь лицензирован под GPLv3, а 3.2.57 является последней версией, выпущенной под GPL2.

Поскольку bash находится в / bin, вы не должны заменять его напрямую, так как Apple может обновлять или изменять его в любое время, а теперь с SIP его также сложнее изменить. Также скрипты в других местах могут зависеть от этой версии

Однако вы можете добавить bash из GNU или из менеджера пакетов, такого как Macports или Homebrew. Затем вы можете изменить профиль Terminal.app, чтобы запустить эту оболочку, а не bash

Macports это

sudo port install bash

Доморощенный это

brew install bash

С 14/6/16 - стабильная версия bash - 4.3.42, и обновления обычно быстро проходят через обе системы портов.

Или вы можете сменить оболочку на другую, которую поставляет Apple, например, zsh, более мощный, чем bash (версия до даты выпуска El Capitan) или ksh, который обновлен. (или tcsh, который является оболочкой C, но также достаточно современным)


Хороший ответ! Очень хорошее объяснение. Как я могу изменить на Zsh? Где-нибудь хорошее руководство по этой оболочке? Большое спасибо!

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.