你好
你无法附加 --login DefaultShell 到互动式登录。Windows OpenSSH 注册表键 HKLM\SOFTWARE\OpenSSH\DefaultShell 只接受 shell 可执行文件的路径,唯一的额外旋钮是 DefaultShellCommandOption sshd 运行单个命令时使用的,bash -c "whoami"而不是在启动交互式 shell 时使用。这就是为什么添加 --login After bash.exe 不会影响你的 SSH 会话。
最简单的解决办法是让你的互动式非登录 bash 像登录壳一样。编辑账户并获取 ~/.bashrc 登录资料,然后重新连接。例如,将这行附加到 ~/.bashrc:
. /etc/profile
如果仍然看到中文杂乱,也请将你的本地设置附加到 ~/.bashrc,例如:
export LANG=zh_CN.UTF-8
export LC_ALL=zh_CN.UTF-8
下一次 SSH 登录时,Git Bash 会像 /etc/profile ~/.bashrc平常一样读取并获取预期环境 bash --login ,无需更改 OpenSSH 注册表设置。