Ste*_*ven 26
答案取决于您如何启动 Cygwin。
如果使用Cygwin.bat启动 Cygwin ,请修改/Cygwin.bat(通常为C:\cygwin\或C:\cygwin64\)的最后一行。
如果使用mintty启动 Cygwin ,则添加 shell 作为参数: mintty /usr/bin/zsh -
小智 26
如果mintty.exe直接运行或从开始菜单或桌面运行 Cygwin Terminal(这是 mintty.exe 的快捷方式),则可以将 Windows 中的 SHELL 环境变量设置为/usr/bin/zsh.
在 Windows 7 上:
其余的应该是不言自明的。
小智 16
您可以编辑 /etc/nsswitch.conf,而不是创建一个 passwd 文件,Cygwin建议不要使用1。添加或编辑以下行:
db_shell: /usr/bin/fish
这种方法的不利/有利方面是,如果您有多个用户,则此更改会影响所有用户。好的一面是它非常简单。唯一的问题是您必须重新启动 Cygwin。
如果您做此更改后使用mkpasswd,它会使用新的默认外壳为被允许登录的所有用户。
1 mkpasswd 文档是这样说的:
不要使用此命令生成本地 /etc/passwd 文件,除非您确实需要。有关更多信息,请参阅 Cygwin 用户指南。
我真的在用户指南中找不到任何可靠的推理,除了提到如果您的用户和组发生变化,您必须重新生成 /etc/passwd 和 /etc/group 文件,我认为这已经足够了原因。我可以说这个过程对于新手来说有点容易出错。