为什么 macOS 终端会在 popd 和 dirs 命令的命令行末尾添加多余的内容?

为什么 macOS 终端会在 popd 和 dirs 命令的命令行末尾添加多余的内容?

使用 Mojave 10.14.4。当我在终端中键入命令时popd,只要按下回车键,以下内容就会添加到我的命令末尾:

;2D;2D;2D;2Ddopp

pop 命令有效,但我还得到了以下输出:

-bash: 2D: command not found
-bash: 2D: command not found
-bash: 2D: command not found
-bash: 2Ddopp: command not found

更新 2019-05-17 07:24:仍在尝试解决此问题。许多命令都会发生这种情况。添加的数量2Ds等于命令参数中的字符数,并且添加的最后字符(dopp在上面的示例中)是参数字母的重新排列。请参见下面的示例:

grep foobar;2D;2D;2D;2D;2D;2Dfooter
^C
-bash: 2D: command not found
-bash: 2D: command not found
-bash: 2D: command not found
-bash: 2D: command not found
-bash: 2D: command not found
-bash: 2Dfooter: command not found

所以这似乎与某种拼写检查有关。

此外,如果我切换用户,其他用户的 Terminal.app 中不会发生这种情况。

有人知道发生了什么事以及我该如何解决吗?


回应@jvb 的以下评论:

他建议的 echo 和 unset 命令的输出:

TIGER:temp jim$ echo $PS1
\h:\W \u\$
TIGER:temp jim$ unset $PS1
-bash: unset: `\h:\W': not a valid identifier
-bash: unset: `\u\$': not a valid identifier
TIGER:temp jim$ 

取消设置命令后问题仍然存在。


请注意,问题已发现并更正。请参阅下面的回复。

答案1

发现问题了。我安装了 TypeIt4Me,这导致了问题。我不知道这是否是 Mojave 独有的,还是其他版本的 macOS 也存在问题。

更新 2019-05-21:TypeIt4Me 支持已回复我对此问题的报告。事实证明,您可以告诉 TypeIt4Me 忽略特定应用程序。进入 TypeIt4Me 的“首选项”,单击“特殊”选项卡,然后添加您希望 TypeIt4Me 忽略的应用程序。太棒了!解决了我的问题。

更新 2019-05-24 09:26。TypeIt4Me 支持人员继续研究我的问题的原因。今天早上我又收到一封电子邮件,告诉我他们已经找到了解决方案。在“首选项”|“自动更正”下,我选中了标有“使用 AppleSpell 更正拼写错误”的框,这导致了问题。由于我想保留此设置,我将终端留在 TypeIt4Me 应忽略的应用程序列表中。感谢 TypeIt4Me 的 Guy 和 Riccardo 提供的出色技术支持!

相关内容