使用 mintty 作为 Cygwin 上的默认终端,使用默认 shell 作为 bash

使用 mintty 作为 Cygwin 上的默认终端,使用默认 shell 作为 bash

已经有人回答了这个问题在 Windows 7 中通过 Cygwin 使用 shell 的最佳方式。那就是启动 CygwinC:\cygwin\bin\mintty.exe -

接着就,随即$SHELL = /bin/sh

如何使用/usr/bin/bash默认 shell 启动 mintty?

答案1

有几种不同的方法可以做到这一点:

  1. 正如 Salton 所提到的,指定bash为 mintty 的命令行参数。
  2. 将 WindowsSHELL环境变量设置为 /usr/bin/bash。
  3. 确保 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

相关内容