Зачем менять оболочку по умолчанию?
Командная оболочка (shell) — это интерпретатор команд, среда, в которой вы работаете в Терминале. Начиная с macOS Catalina (10.15), оболочкой по умолчанию является zsh, заменившая старый bash. Возможно, вы захотите сменить оболочку, чтобы:
- Использовать более современные функции zsh (автодополнение, темы).
- Вернуться к привычному bash для совместимости со старыми скриптами.
- Попробовать альтернативные оболочки, такие как fish, известную своей удобной интерактивностью.
Проверка текущей оболочки
Перед изменением полезно узнать, какая оболочка используется сейчас.
- Откройте приложение Терминал (находится в
Программы/Утилиты). - Введите следующую команду и нажмите
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).
- В Терминале введите команду, указав полный путь к нужной оболочке из списка
/etc/shells.- Чтобы сменить на zsh:
chsh -s /bin/zsh - Чтобы сменить на bash:
chsh -s /bin/bash - Чтобы сменить на fish (если она установлена и есть в списке):
chsh -s /usr/local/bin/fish
- Чтобы сменить на zsh:
- Система запросит пароль вашей учетной записи пользователя. Введите его и нажмите
Enter. Пароль не отображается при вводе — это нормально.
Важно: Изменение вступит в силу для всех новых сессий Терминала. Чтобы проверить результат, закройте текущее окно Терминала и откройте новое. Снова выполните echo $SHELL, чтобы убедиться в смене оболочки.
Способ 2: Изменение в настройках пользователя (GUI)
Некоторые версии macOS и сторонние терминалы (как iTerm2) позволяют изменить оболочку в своих настройках.
В iTerm2
- Откройте iTerm2 → Настройки (
Cmd + ,). - Перейдите в раздел Profiles (Профили).
- Выберите ваш профиль (обычно
Default). - Во вкладке General (Общие) найдите поле Command (Команда).
- Выберите опцию Custom Shell (Пользовательская оболочка) и укажите полный путь, например
/bin/bash. - Закройте настройки и перезапустите iTerm2.
В стандартном Терминале (альтернативный способ)
Интерфейс настройки оболочки может меняться. Вы можете попробовать:
- В Терминале откройте меню Терминал → Настройки (
Cmd + ,). - Перейдите во вкладку Profiles (Профили).
- Выберите профиль слева, затем во вкладке Shell найдите опцию "Run command:" или "Shell opens with:".
- Установите путь к оболочке, например
/bin/zsh.
Устранение проблем
- "chsh: non-standard shell": Оболочка не находится в списке разрешенных (
/etc/shells). Установите ее правильно (например, через Homebrew:brew install fish) или добавьте путь вручную, отредактировав файлsudo nano /etc/shells. - Изменения не применяются: Убедитесь, что вы полностью закрыли и заново открыли Терминал. Проверьте, не переопределена ли оболочка в настройках вашего профиля в самом Терминале или iTerm2.
- Пароль не принимается: Вы вводите пароль от вашей учетной записи пользователя macOS. Убедитесь, что ввод выполняется правильно.
После успешной смены оболочки вы можете приступить к ее настройке: установить тему, плагины (например, для zsh популярен фреймворк Oh My Zsh) или настроить алиасы.