скопировал из мой ответ на переполнение стека:
вместо создания файла 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, если ваши пользователи и группы меняются, что, я полагаю, является достаточно приличной причиной. Я могу сказать, что процесс несколько ошибок для новичков.