使用 Windows 终端的 Git Bash 打印奇怪的字符而不是换行符

使用 Windows 终端的 Git Bash 打印奇怪的字符而不是换行符

我在一台新机器上安装了 Windows Terminal [Microsoft Store] 和 Git Bash [最新版]。我运行了一个构建脚本来记录其进度,每当出现换行符(也许还有其他换行符?)时,我都会得到奇怪的字符,所有内容都打印在同一行上:

  • ←[1A←[1m> Connecting to Daemon←[m←[22D←[1B←[2A←[1m<←[0;1m-------------> 0% INITIALIZING [73ms]←[m←[38D←[1B←[1m> Evaluating settings←[m←[0K←
    
    它应该是:
    Connecting to Daemon
    <-------------> 0% INITIALIZING [73ms]
    Evaluating settings
    
  • 我阅读了有关 ANSI CON 或与注册表和控制台项相关的内容,但并没有真正取得任何进展;在另一个系统上,一切工作正常,但设置有多个差异,包括安装了 Cygwin,所以我不能确定是产品版本还是其他东西解决了这个问题。

这种行为的根源是什么?如何解决?

答案1

原因很奇怪,但解决办法很简单。在 GitBash.bashrc文件的末尾添加以下行

export TERM=cygwin

无需安装 Cygwin 即可运行此功能。

答案2

仍然在为此挣扎。您可以使用 export TERM=cygwin 来代替

export TERM=eterm-256color

在您的 .bashrc/.zshrc 中。这会删除字符并保留颜色,但在启动时会出现一个错误:“/.zshrc:179:找不到 eterm-256color 的终端定义”。

如果您发现任何可以完美运行的东西请告知我们。

相关内容