Почему Apple изменила оболочку по умолчанию на Zsh

Pocemu Apple Izmenila Obolocku Po Umolcaniu Na Zsh



Shell — это базовая программа, которая поставляется вместе с операционной системой для связи с оборудованием и обеспечивает желаемую функциональность. Оболочка — это интерфейс командной строки или также известный как терминал, который получает инструкции от пользователей в качестве входных данных и выдает соответствующие выходные данные. Доступны различные типы оболочек, в том числе знаменитый bash, C-оболочка (Csh) , и Z-shell (Zsh) . Эти оболочки имеют много общего, но отличаются друг от друга функциональностью, внешним видом и, что наиболее важно, лицензией.

Apple использует оболочку bash в качестве оболочки по умолчанию в macOS, но недавно изменила ее на zsh . Для многих пользователей Mac это было неожиданно. Что заставило Apple пойти на этот шаг и какие основные опасения стояли за этим шагом? Эта статья прольет свет на недавнее решение Apple переключить оболочку по умолчанию с bash на zsh . Давай начнем:

Изменение лицензионного соглашения GNU

Apple известна своей политикой и ее соблюдением. Apple уже давно использует bash в качестве оболочки по умолчанию в macOS. Apple почти не меняет свою политику. Быстрое переключение вызвало у пользователей Mac немного скептицизма. Текущая версия bash в macOS X — это версия 3.2, а последняя версия bash — 5. Apple просто не может обновить версию bash из-за противоречивого лицензионного соглашения между GNU и Apple.







Условия лицензии GPLv3 изменены, что несовместимо с политиками Apple, и для использования последней версии bash (5.0) Apple должна согласиться с лицензией GPLv3.



GPLv3 внесла некоторые изменения в лицензионное соглашение, и Apple не хочет соглашаться с ним из-за ограничений для такой компании, как Apple. Поэтому Apple решила переключить свою оболочку по умолчанию с bash на zsh от macOS Catalina, Big Sur и выше.







Почему ЗШ?

Основная причина перехода с bash на zsh заключается в том, что zsh очень похож на bash. Так что любой, кто новичок в этой оболочке, не столкнется с какими-либо трудностями.

Могу ли я по-прежнему использовать Bash на macOS?

Да, bash можно использовать в macOS, но это будет версия bash 3.2, а не версия 5. Хотя версия bash 3.2.57 устарела, Apple разрешает ее распространение по лицензии GPLv2.



Разница между bash и zsh

Основное различие между bash и zsh заключается в том, что zsh обладает широкими возможностями настройки. Завершение команд намного лучше в zsh. С другой стороны, скрипты, написанные на bash, более универсальны из-за лучшей совместимости. Из-за разницы в функциональности zsh-скрипты могут не работать в среде bash.

Последние мысли

Недавнее решение Apple отказаться от оболочки Born Again Shell (bash) из macOS — загадочное решение, принятое после изменений в лицензионном соглашении GNU. Согласно Apple, новые условия являются ограничительными условиями GPLv3, и Apple трудно их соблюдать. Поэтому Apple больше не продолжает использовать bash и переходит на zsh. Zsh очень похож на bash и легко настраивается. Но пользователи Mac, которые все еще заинтересованы в использовании bash, могут переключиться на bash, но они не могут использовать последнюю версию bash.