Copiado de mi respuesta en Stack Overflow :
En lugar de crear un archivo passwd, que Cygwin recomienda contra 1 , puede editar /etc/nsswitch.conf . Agregue o edite la siguiente línea:
db_shell: / usr / bin / fish
El lado negativo de este método es que, si tiene varios usuarios, este cambio los afecta a todos. El lado positivo es que es muy simple. El único inconveniente es que tienes que reiniciar Cygwin.
Si haces uso mkpasswd después de este cambio, utilizará su nuevo shell por defecto para todos los usuarios que tienen permiso para iniciar la sesión.
1 La documentación de mkpasswd dice esto:
No use este comando para generar un archivo local / etc / passwd, a menos que realmente necesite uno. Consulte la Guía del usuario de Cygwin para obtener más información.
Realmente no puedo encontrar ningún razonamiento sólido en la guía del usuario , aparte de una mención de que tendrá que regenerar los archivos / etc / passwd y / etc / group si sus usuarios y grupos cambian, lo que supongo que es lo suficientemente decente razón. Puedo decir que el proceso es algo propenso a errores para los novatos.
sh.exe
azsh.exe
en Configuración de Conemu> inicio> tareas> bash Cygwin Bash>set CHERE_INVOKING=1 & %ConEmuDrive%\CygWin\bin\sh.exe --login -i