Gitbash如何支持交互式命令?如何讓gitbash的命令不亂碼?winpty是什么鬼?干嘛用的?


 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 )即可正常顯示中文。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM