前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Gitbash如何支持交互式命令?如何让gitbash的命令不乱码?winpty是什么鬼?干嘛用的?

Gitbash如何支持交互式命令?如何让gitbash的命令不乱码?winpty是什么鬼?干嘛用的?

作者头像
smy
发布2018-11-28 17:06:47
2.5K0
发布2018-11-28 17:06:47
举报
文章被收录于专栏:smysmy

 winpty 是一个 Windows 软件包,提供了类似 Unix pty-master 一样的接口,用于实现控制台程序之间的通讯。该软件包包括一个开发库 (libwinpty) 和一个用于 ygwin 和 MSYS 的工具用于在 Cygwin/MSYS pty 下运行 Windows 控制台程序。

代码语言:javascript
复制
MSYS: Minimal GNU(POSIX)system on Windows,是一个小型的GNU环境,包括基本的bash,make等等。与Cygwin大致相当。
代码语言:javascript
复制
GNU是一个自由的操作系统,其内容软件完全以GPL方式发布。这个操作系统是GNU计划的主要目标,名称来自GNU's Not Unix!的递归缩写,因为GNU的设计类似Unix,但它不包含具著作权的Unix代码

 Gitbash左上角的MINGW64是什么鬼?

代码语言:javascript
复制
MinGW(Minimalist GNU for Windows),又称mingw32,是将GCC编译器和GNU Binutils移植到Win32平台下的产物,包括一系列头文件(Win32API)、库和可执行文件。

另有可用于产生32位及64位Windows可执行文件的MinGW-w64项目,是从原本MinGW产生的分支[1]。如今已经独立发展[
代码语言:javascript
复制
MinGW是从Cygwin(1.3.3版)基础上发展而来

Cygwin是许多自由软件的集合,最初由Cygnus Solutions开发,用于各种版本的Microsoft Windows上,运行类UNIX系统。Cygwin的主要目的是通过重新编译,将POSIX系统(例如Linux、BSD,以及其他Unix系统)上的软件移植到Windows上

什么是mintty?

代码语言:javascript
复制
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 )即可正常显示中文。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-11-16 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  •  Gitbash左上角的MINGW64是什么鬼?
  • 什么是mintty?
  •  新版 Git for Windows 用的是 mintty 终端
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档