winpty 是一个 Windows 软件包,提供了类似 Unix pty-master 一样的接口,用于实现控制台程序之间的通讯。该软件包包括一个开发库 (libwinpty) 和一个用于 ygwin 和 MSYS 的工具用于在 Cygwin/MSYS pty 下运行 Windows 控制台程序。
MSYS: Minimal GNU(POSIX)system on Windows,是一个小型的GNU环境,包括基本的bash,make等等。与Cygwin大致相当。
GNU是一个自由的操作系统,其内容软件完全以GPL方式发布。这个操作系统是GNU计划的主要目标,名称来自GNU's Not Unix!的递归缩写,因为GNU的设计类似Unix,但它不包含具著作权的Unix代码
MinGW(Minimalist GNU for Windows),又称mingw32,是将GCC编译器和GNU Binutils移植到Win32平台下的产物,包括一系列头文件(Win32API)、库和可执行文件。
另有可用于产生32位及64位Windows可执行文件的MinGW-w64项目,是从原本MinGW产生的分支[1]。如今已经独立发展[
MinGW是从Cygwin(1.3.3版)基础上发展而来
Cygwin是许多自由软件的集合,最初由Cygnus Solutions开发,用于各种版本的Microsoft Windows上,运行类UNIX系统。Cygwin的主要目的是通过重新编译,将POSIX系统(例如Linux、BSD,以及其他Unix系统)上的软件移植到Windows上
mintty是一个免费的开源终端模拟器,用于Cygwin,类似Unix的Windows环境。它具有本机Windows用户界面,不需要显示服务器;它的终端仿真旨在与xterm兼容。 Mintty基于PuTTY的终端仿真和Windows前端部分,但在很多方面对它们进行了改进,特别是在xterm兼容性方面。
1. 不支持本机交互式应用程序,需要安装 winpty ( Git Bash 已自带)
如下交互式命令不工作:
需要使用以下命令:
2. 当 Options 里 Text 选项卡中的 Character set 设置为 UTF-8 ,这样可以正常识别 utf8 相关的文件, 这样设置后,在 Mintty 窗口下运行一些 Win 上的命令时会出现乱码(比如 ping, ipconfig 等)
针对这些命令,使用 winpty 进行字符流转换。具体是先安装 winpty ( Git Bash 已自带),然后使用 winpty 执行这类命令($ winpty ping www.baidu.com )即可正常显示中文。