Гид по технологиям

Как переключиться с Zsh на Bash в macOS

5 min read macOS Обновлено 19 Dec 2025
Как переключиться на Bash в macOS
Как переключиться на Bash в macOS

Быстрые ссылки

  • Включить Bash в macOS через Terminal
  • Переключить Zsh на Bash через System Settings
  • Почему Bash в macOS устарел

Краткое содержание

  • Apple использует Zsh по умолчанию в новых аккаунтах, но Bash всё ещё установлен и им можно пользоваться.
  • Чтобы поменять оболочку на Bash, выполните в Terminal: chsh -s /bin/bash, затем перезапустите окно Terminal.
  • Графический способ: Apple → System Settings → Users & Groups, Ctrl‑клик по профилю → “Advanced Options” → выбрать “Login Shell” → /bin/bash или /bin/zsh.

Ноутбук Mac на рабочем столе с открытым терминалом.

Зачем это нужно

Zsh стал стандартом начиная с macOS Catalina. Если вы привыкли к Bash (например, у вас есть скрипты или привычки, основанные на баше), удобнее поставить Bash как оболочку по умолчанию. При этом учитывайте, что системная версия Bash в macOS часто старая по сравнению с актуальной версией в сообществе.

Включение Bash через Terminal

Чтобы сменить оболочку для текущего пользователя через Terminal, выполните команду:

chsh -s /bin/bash

Система запросит пароль пользователя. После успешного ввода закройте окно Terminal и откройте его снова — теперь будет запускаться Bash.

Чтобы вернуть Zsh, используйте:

chsh -s /bin/zsh

Команда cat /etc/shells покажет список оболочек, которые система считает допустимыми для входа:

cat /etc/shells

Интерфейс macOS с работающей оболочкой Bash в терминале.

Графический способ через System Settings

  1. Нажмите на логотип Apple в левом верхнем углу экрана.
  2. Откройте System Settings → Users & Groups.
  3. Удерживая клавишу Ctrl, кликните по имени вашего пользователя в левой колонке и выберите “Advanced Options”.
  4. В поле “Login Shell” выберите “/bin/bash” для Bash или “/bin/zsh” для Zsh.
  5. Нажмите “OK” и перезапустите Terminal.

Откройте Users & Groups, Ctrl+клик по профилю, затем выберите Advanced Options.

Выбор Login Shell в настройках аккаунта — изменить оболочку через графический интерфейс.

Как проверить, какая оболочка используется сейчас

  • Посмотрите заголовок окна Terminal — там часто отображается имя оболочки.
  • Введите команду:
echo $SHELL

или

ps -p $$

Эти команды вернут путь к текущей оболочке (например, /bin/bash или /bin/zsh).

Почему Bash на macOS может быть устаревшим

Apple по историческим причинам распространяет более старую версию Bash (например, Bash 3.2.57 в macOS Ventura), которая лицензирована под GPLv2. Современные версии Bash (например, 5.x) обычно распространяются под GPLv3 и не включены в систему по умолчанию. Zsh на момент выпуска Ventura имел версию 5.8.1.

Сравнение версий Zsh и Bash, установленных в macOS Ventura.

Если вам нужна актуальная версия Bash, установите её через Homebrew:

brew install bash

После установки добавьте новый путь в /etc/shells (требуется sudo) и затем выполните chsh -s /usr/local/bin/bash или chsh -s /opt/homebrew/bin/bash в зависимости от места установки Homebrew на вашем Mac.

Важно: изменение /etc/shells требует прав администратора и должно выполняться осторожно.

Когда лучше не переключаться на Bash

  • Если вы используете плагины, темы или конфигурации, написанные специально для Zsh (например, Oh My Zsh), переключение может сломать привычную среду.
  • Если вы работаете в окружении, где системные скрипты ожидают Zsh, лучше оставить Zsh по умолчанию.
  • Если вам критична поддержка новых возможностей Bash (например, ассоциативных массивов в новых версиях), но вы не готовы устанавливать и настраивать отдельную версию Bash — подумайте об установке новой версии через Homebrew вместо замены системной оболочки.

Короткая методология принятия решения

  1. Проверьте текущую оболочку: echo $SHELL.
  2. Оцените зависимости: есть ли у вас Zsh‑специфичные конфиги или плагины.
  3. Если нужна только привычная работа с Bash — используйте chsh -s /bin/bash.
  4. Если нужна свежая версия Bash — установите через Homebrew и добавьте путь в /etc/shells, затем chsh на новый путь.
  5. Тестируйте профиль и скрипты в новом окружении до массового развёртывания.

Шпаргалка команд (cheat sheet)

  • Посмотреть текущую оболочку: echo $SHELL
  • Сменить оболочку на Bash: chsh -s /bin/bash
  • Вернуть Zsh: chsh -s /bin/zsh
  • Список доступных оболочек: cat /etc/shells
  • Установить актуальный Bash через Homebrew: brew install bash
  • Добавить Homebrew‑bash в /etc/shells (пример): sudo sh -c 'echo /opt/homebrew/bin/bash >> /etc/shells'
  • Сменить оболочку на установленный Homebrew‑bash: chsh -s /opt/homebrew/bin/bash

Критерии приёмки

  • После смены оболочки при новом запуске Terminal при выполнении echo $SHELL выводится выбранный путь (/bin/bash или /usr/local/bin/bash и т.д.).
  • Сценарии и профили запускаются как ожидается; отсутствуют критические ошибки при стартовой инициализации.
  • Если была установлена новая версия Bash, она отображается в bash --version и путь совпадает с тем, что указан в echo $SHELL.

Риски и рекомендации по откату

  • Риск: сломанные настройки окружения (например, несовместимые .bash_profile или .zshrc). Рекомендации: перед сменой сделайте резервную копию конфигурационных файлов (cp ~/.zshrc ~/.zshrc.backup, cp ~/.bash_profile ~/.bash_profile.backup).
  • Откат: выполните chsh -s /bin/zsh или восстановите конфиги из резервных копий.

Краткий чеклист для администратора

  • [ ] Проверить текущую оболочку у пользователей (finger или dscl для массовой проверки).
  • Оповестить пользователей о предстоящем изменении.
  • Выполнить установку новой версии Bash (если требуется) через Homebrew.
  • [ ] Добавить путь нового bash в /etc/shells и применить chsh.
  • Проверить работоспособность ключевых скриптов и сервисов.

Когда полезна Zsh, а когда Bash

  • Zsh удобна для интерактивной работы: автодополнение, тема и плагины, улучшенные подсказки.
  • Bash остаётся стандартом для многих скриптов и совместим с большим количеством POSIX‑совместных сценариев.
    Выбор зависит от ваших задач: интерактив — Zsh; совместимость скриптов и привычки — Bash.

Резюме

Переключение между Zsh и Bash в macOS простое и может быть выполнено как через Terminal командой chsh, так и через графические настройки System Settings → Users & Groups → Advanced Options. Учтите, что системный Bash может быть старой версии; для обновления используйте Homebrew и не забудьте добавить новый путь в /etc/shells перед сменой оболочки.

Важно: заранее сделайте резервные копии конфигураций и проверьте критические скрипты после смены.

Короткая памятка: проверьте echo $SHELL, используйте chsh для смены, и если нужна свежая версия Bash — установите её через Homebrew.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Точное разрешение экрана на Mac
macOS

Точное разрешение экрана на Mac

Настройка Siri на HomePod
Руководства

Настройка Siri на HomePod

Ophcrack: как взломать пароль Windows
Security

Ophcrack: как взломать пароль Windows

Как использовать фотоаппарат как веб‑камеру
Оборудование

Как использовать фотоаппарат как веб‑камеру

Кастомизация чекбоксов и радиокнопок в CSS
Веб-разработка

Кастомизация чекбоксов и радиокнопок в CSS

Экспорт и резервное копирование закладок Firefox
Браузеры

Экспорт и резервное копирование закладок Firefox