Я знаю, что могу установить «Оболочки открытыми» в настройках терминала, но мне любопытно, есть ли какой-либо общесистемный способ установки этого (аналогично обновлению / etc / passwd в некоторых Unixes).
21
Используйте chsh
утилиту так:
chsh -s bash
Apple chsh
немного изменилась в Mac OS X по сравнению с тем, что chsh
вы видели в Linux, например. Вы можете прочитать их на странице Chsh Mac OS X Man .
Обратите внимание, что вам будет разрешено перейти только на оболочку, указанную в
/etc/shells
. Обычно это нормально, но это означает, что если вы хотите установить Bash 4 (из Homebrew, MacPorts или самостоятельно), вам необходимо добавить строку в/etc/shells
. (Я столкнулся с этим несколько недель назад и подумал, что это может помочь другим узнать ...)Изменить : Тим Смит отмечает, что вы можете обойти
/etc/shells
ограничение, если вы запускаетеchsh
с правами root черезsudo
. Например,sudo chsh -s /usr/local/bin/my_shell $USER
будет работать, даже еслиmy_shell
не указан в/etc/shells
. Я предпочитаю редактировать/etc/shells
, но, в конце концов, это одно из применений,sudo
так как вы не можете редактировать/etc/shells
как обычный пользователь. Так что, возможно, шесть из одного, полдюжины из другого.источник
/etc/shells
если не нужно? Для здравомыслия я предпочитаю сохранять системные файлы такими же./etc/shells
это файл в системе, который определяет распознанные оболочки. Я изменяю этот файл, потому что хочу добавить оболочку в список распознанных оболочек. Кажется довольно разумным для меня.chsh: bash: non-standard shell
chsh
один, если вы пытаетесь использовать оболочку, которая не указана в/etc/shells
./etc/shells
что мне кажется странным.Для этого с помощью Mac OS X GUI:
Следует отметить, что в этом месте вы можете изменить свой домашний каталог, UUID, идентификатор пользователя, идентификатор группы и короткое имя, если вам не нравится терминал. Существует аналогичный вопрос здесь находится также.
источник
Используя ответы выше, я получил сообщение об ошибке:
Чтобы обойти это:
whoami
в подоболочке стоит сменить оболочку для своего пользователя, а не рута.Еще одна вещь, если вы используете доморощенный. Когда вы запускаете команды от имени пользователя root (используя
sudo
), zsh указывает на / bin / zsh, который поставляется с OSX и может быть устаревшим. Чтобы использовать последнюю версию, установленную с помощью homebrew, используйте следующее:источник