已经有人回答了这个问题在 Windows 7 中通过 Cygwin 使用 shell 的最佳方式。那就是启动 CygwinC:\cygwin\bin\mintty.exe -
接着就,随即$SHELL = /bin/sh
如何使用/usr/bin/bash
默认 shell 启动 mintty?
答案1
有几种不同的方法可以做到这一点:
- 正如 Salton 所提到的,指定
bash
为 mintty 的命令行参数。 - 将 Windows
SHELL
环境变量设置为 /usr/bin/bash。 - 确保 Cygwin 环境中有 /etc/passwd(请参阅 mkpasswd(1)),并将 UID 的 shell 设置为 /usr/bin/bash。 Cygwin 不提供 chsh 或 usermod 命令,因此如果您想使用此方法,您可能必须手动编辑该文件。
来自 mintty(1) 联机帮助页:
INVOCATION
If a program name is supplied on the command line, this is executed
with any additional arguments given. Otherwise, mintty looks for a
shell to execute in the SHELL environment variable. If that is not
set, it reads the user's default shell setting from /etc/passwd. As a
last resort, it falls back to /bin/sh. If a single dash is specified
instead of a program name, the shell is invoked as a login shell.
答案2
您可以mintty bash
将 bash 启动为默认值
答案3
假设这个文件名为mintty.bat,双击这个文件会打开一个mintty终端,并且bash、path和pwd都安定下来了。
@echo off
C:\cygwin64\bin\mintty.exe /bin/bash --login -i