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代碼
Gitbash左上角的MINGW64是什么鬼?
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?
mintty是一個免費的開源終端模擬器,用於Cygwin,類似Unix的Windows環境。它具有本機Windows用戶界面,不需要顯示服務器;它的終端仿真旨在與xterm兼容。 Mintty基於PuTTY的終端仿真和Windows前端部分,但在很多方面對它們進行了改進,特別是在xterm兼容性方面。
新版 Git for Windows 用的是 mintty 終端
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 )即可正常顯示中文。