macOS CHSHНизкая

Как изменить оболочку по умолчанию в macOS

Узнайте, как сменить командную оболочку (shell) по умолчанию в macOS с помощью командной строки или графического интерфейса. Инструкции для Terminal и iTerm2.

Обновлено 12 апреля 2026 г.
5-10 мин
Низкая
FixPedia Team
Применимо к:macOS Sonoma (14.x)macOS Ventura (13.x)macOS Monterey (12.x)macOS Big Sur (11.x)

Зачем менять оболочку по умолчанию?

Командная оболочка (shell) — это интерпретатор команд, среда, в которой вы работаете в Терминале. Начиная с macOS Catalina (10.15), оболочкой по умолчанию является zsh, заменившая старый bash. Возможно, вы захотите сменить оболочку, чтобы:

  • Использовать более современные функции zsh (автодополнение, темы).
  • Вернуться к привычному bash для совместимости со старыми скриптами.
  • Попробовать альтернативные оболочки, такие как fish, известную своей удобной интерактивностью.

Проверка текущей оболочки

Перед изменением полезно узнать, какая оболочка используется сейчас.

  1. Откройте приложение Терминал (находится в Программы/Утилиты).
  2. Введите следующую команду и нажмите Enter:
    echo $SHELL
    
    В ответ вы увидите путь к текущей оболочке, например:
    /bin/zsh
    

Просмотр доступных оболочек

macOS разрешает использовать в качестве оболочки по умолчанию только программы, внесенные в специальный системный список. Чтобы увидеть этот список, выполните команду:

cat /etc/shells

Вывод будет примерно таким:

/bin/bash
/bin/csh
/bin/dash
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh
/usr/local/bin/fish  # Если вы устанавливали fish вручную

Если оболочки, которую вы хотите использовать (например, fish), нет в списке, сначала необходимо добавить ее путь в этот файл.

Способ 1: Изменение через команду chsh (рекомендуется)

Самый прямой способ — использовать команду chsh (change shell).

  1. В Терминале введите команду, указав полный путь к нужной оболочке из списка /etc/shells.
    • Чтобы сменить на zsh:
      chsh -s /bin/zsh
      
    • Чтобы сменить на bash:
      chsh -s /bin/bash
      
    • Чтобы сменить на fish (если она установлена и есть в списке):
      chsh -s /usr/local/bin/fish
      
  2. Система запросит пароль вашей учетной записи пользователя. Введите его и нажмите Enter. Пароль не отображается при вводе — это нормально.

Важно: Изменение вступит в силу для всех новых сессий Терминала. Чтобы проверить результат, закройте текущее окно Терминала и откройте новое. Снова выполните echo $SHELL, чтобы убедиться в смене оболочки.

Способ 2: Изменение в настройках пользователя (GUI)

Некоторые версии macOS и сторонние терминалы (как iTerm2) позволяют изменить оболочку в своих настройках.

В iTerm2

  1. Откройте iTerm2 → Настройки (Cmd + ,).
  2. Перейдите в раздел Profiles (Профили).
  3. Выберите ваш профиль (обычно Default).
  4. Во вкладке General (Общие) найдите поле Command (Команда).
  5. Выберите опцию Custom Shell (Пользовательская оболочка) и укажите полный путь, например /bin/bash.
  6. Закройте настройки и перезапустите iTerm2.

В стандартном Терминале (альтернативный способ)

Интерфейс настройки оболочки может меняться. Вы можете попробовать:

  1. В Терминале откройте меню Терминал → Настройки (Cmd + ,).
  2. Перейдите во вкладку Profiles (Профили).
  3. Выберите профиль слева, затем во вкладке Shell найдите опцию "Run command:" или "Shell opens with:".
  4. Установите путь к оболочке, например /bin/zsh.

Устранение проблем

  • "chsh: non-standard shell": Оболочка не находится в списке разрешенных (/etc/shells). Установите ее правильно (например, через Homebrew: brew install fish) или добавьте путь вручную, отредактировав файл sudo nano /etc/shells.
  • Изменения не применяются: Убедитесь, что вы полностью закрыли и заново открыли Терминал. Проверьте, не переопределена ли оболочка в настройках вашего профиля в самом Терминале или iTerm2.
  • Пароль не принимается: Вы вводите пароль от вашей учетной записи пользователя macOS. Убедитесь, что ввод выполняется правильно.

После успешной смены оболочки вы можете приступить к ее настройке: установить тему, плагины (например, для zsh популярен фреймворк Oh My Zsh) или настроить алиасы.

Часто задаваемые вопросы

Нужно ли перезагружать компьютер после смены оболочки?
Команда `chsh` не работает, пишет 'non-standard shell'. Что делать?
Как вернуть старую оболочку обратно?

Полезное

Узнайте текущую оболочку
Проверьте доступные оболочки
Измените оболочку через командную строку

Эта статья помогла вам решить проблему?