Я пытаюсь изменить свою оболочку по умолчанию с bash на zsh в cygwin.
- обычная команда unix
chshне доступен на cygwin - файл etc/passwd, кажется, больше не используется в существующих версиях cygwin.
так как еще можно изменить оболочку по умолчанию ?
Я пытаюсь изменить свою оболочку по умолчанию с bash на zsh в cygwin.
chsh не доступен на cygwinтак как еще можно изменить оболочку по умолчанию ?

ответ зависит от того, как вы начинаете с Cygwin.
если вы начинаете Cygwin с Cygwin.летучая мышь измените последнюю строку /Cygwin.bat (обычно C:\cygwin\ или C:\cygwin64\).
если вы начинаете Cygwin с mintty, затем добавьте оболочку в качестве параметра. mintty /usr/bin/zsh -

если запустить mintty.exe непосредственно или запустить Cygwin терминал из меню Пуск или на рабочем столе (который является ярлыком для mintty.exe), вы можете установить переменную среды оболочки в Windows, чтобы /usr/bin/zsh.
В Windows 7:
остальное должно быть понятным.

скопировал из мой ответ на переполнение стека:
вместо создания файла passwd, который Cygwin рекомендует1, можно редактировать /etc / nsswitch.conf. Добавьте или измените следующую строку:
db_shell: /usr/bin/fish
вниз/вверх стороной этого метода является то, что если у вас есть несколько пользователей, это изменение влияет на все из них. Сторона вверх / вверх заключается в том, что она мертва. Единственная загвоздка в том, что вам придется перезагрузка с Cygwin.
Если вы do use mkpasswd после этого изменения он будет использовать новую оболочку по умолчанию для всех пользователей, которым разрешено входить в систему.
1 в документации mkpasswd сказано следующее:
Не используйте эту команду для создания локального файла/etc / passwd, если он вам действительно не нужен. Дополнительные сведения см. В руководстве пользователя Cygwin.
Я не могу найти каких-либо твердых рассуждения в the руководство пользователя, кроме упоминания о том, что вам придется регенерировать файлы /etc/passwd и /etc/group, если ваши пользователи и группы меняются, что, я полагаю, является достаточно приличной причиной. Я могу сказать, что процесс несколько ошибок для новичков.

это хак: ставить первой строкой ~/.bash_profile:
exec zsh
