Відповіді:
Використовуйте 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що мені здається дивним.
Для цього за допомогою GUI Mac OS X:
Зверніть увагу, що в цьому місці ви можете змінити домашній каталог, UUID, ідентифікатор користувача, ідентифікатор групи та коротке ім'я, якщо вам незручно із Терміналом. Існує подібне питання, розміщене і тут .
Використовуючи відповіді вище, я отримував повідомлення про помилку:
$ chsh -s zsh
Changing shell for myuser.
Password for myuser:
chsh: zsh: non-standard shell
Щоб обійти це:
sudo chsh -s zsh $(whoami)
whoami в підпакеті - це змінити оболонку для вашого користувача, а не root.
Ще одна річ, якщо ви використовуєте домашню мову. Коли ви запускаєте команди як root (використовуючи sudo), zsh вказує на / bin / zsh, що поставляється з OSX і може бути застарілим. Щоб використовувати сучасний, встановлений через домашню мову, використовуйте наступне:
sudo chsh -s $(which zsh) $(whoami)