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

Ответы:

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, но также достаточно современным)

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