Windows 10 上的 Git Bash 忽略 Ctrl + C

Posted

技术标签:

【中文标题】Windows 10 上的 Git Bash 忽略 Ctrl + C【英文标题】:Git Bash on Windows 10 ignores Ctrl + C 【发布时间】:2019-06-05 04:55:42 【问题描述】:

我在开始使用 Windows 10 后遇到了 git bash 的奇怪问题。

有时 Ctrl+C(和 Ctrl+X)不会终止 git bash 上的运行命令 但是我找不到与此类错误相关的任何依赖项

当 ctrl+c 不起作用时,我可以做些什么来避免此类问题或中断正在运行的命令?

【问题讨论】:

你想中断什么命令? 尽管我使用了命令,但我还是得到了这个 pb:git pushmvn clean installrm -rf 【参考方案1】:

我在使用时也遇到了同样的情况:

C:\Program Files\Git\bin\sh.exe --login -i

但它不存在于:

C:\Program Files\Git\usr\bin\sh.exe --login -i

文件夹中的 sh.exe 和特定文件夹中的 bash.exe 之间的行为似乎没有任何区别。即 bin\bash.exe 与 bin\sh.exe 行为相同,而 usr\bin\bash.exe 与 usr\bin\sh.exe 行为相同

【讨论】:

我使用了以usr\bin\sh.exe --login -i 开头的git-bash.exe,所以在我的情况下,我遇到了第二个问题 好吧,那你可以试试第一个 好建议,对我有用。使用的版本 - Git:2.26.2.windows.1,操作系统:Windows 10【参考方案2】:

我在 maven (3.6.2) 构建期间遇到了同样的问题。

当我检查 mvn 命令在我的 git-bash 中指向的位置时,结果发现调用了 unix 启动脚本。 由于我有点不愿意将 git-bash.exe 更改为其他内容(您永远不会知道还有什么问题),所以我的解决方案是在我的 ~/.bashrc 中引入一个别名:

alias mvn=mvn.cmd

这暂时解决了我的问题。除了生成一个 cmd 解释器来解释 cmd 文件之外,我还没有发现它的任何缺点。

关于原因:mvn shell 脚本使用exec 作为它的最后一行,我怀疑这是原因。而这个exec 只能使用内置的 git-bash 命令;在我们的例子中,maven 执行 Windows java.exe

【讨论】:

以上是关于Windows 10 上的 Git Bash 忽略 Ctrl + C的主要内容,如果未能解决你的问题,请参考以下文章

我可以在 Windows 上的 Git Bash 中使用 gcloud 吗?

如何在 Windows 上的 Git Bash 中退出“git diff”的结果? [复制]

设置 git bash 以使用 Windows 上的选项卡

sh 使用Windows上的Git Bash通过命令行打开WebStorm文件。

无法在 Windows 上的 Git Bash 中安装 pylint(Windows 应用商店)

vscode 怎样使用 bash on windows 上的git