Git Bash 中执行交互式命令无响应

众所周知的原因,Windows下的命令行工具CMD非常难用,所以大家一般用Git Bash作为替代品,但是有时候在其中执行一些命令会出现无响应(无输出结果、无报错信息)的现象,本文将给出该现象的原因及解决方案

abstract.jpg

执行命令无响应

在Git Bash中启动redis客户端(见下图所示),但是该命令执行会出现无输出结果、无报错信息的现象

figure 1.png

原因

其实出现该问题的原因,在安装Git Bash的过程中,就给出了说明提示。对于 Windows命令/交互式命令 需要在其前加”winpty”;如果不添加,则会出现前文所提到的无响应现象

figure 2.png

解决方案

目前给出已知的两种有效的解决方案:

命令前添加 winpty

根据安装时给出的提示说明,在执行交互式命令时,直接在其命令前面添加”winpty”,如下图所示,命令前面添加”winpty”来启动redis的客户端后,成功进入redis的交互性环境

figure 3.png

设置命令别名

如果觉得在每次执行命令前添加”winpty”很麻烦,可以给命令设置别名。打开Git Bash的安装目录下的配置文件(bash.bashrc),在配置文件末尾添加命令别名即可。如下图所示:

figure 4.png

设置命令别名后,可以直接执行原命令,无须每次在其前面添加”winpty”,使用方式如下所示

figure 5.jpg

Note

  • 在Git Bash中执行 ping 命令前添加 winpty,可以解决直接执行 ping 命令的输出结果存在中文乱码问题
0%