我在 Xubuntu 20.04.02 上
这是一个关于什命令历史记录。最近发生了一些变化,我正在寻找一种方法来恢复旧的行为。
多年来,直到大约一个月前,当您输入错误的命令时,它会发出一条错误消息,并且该命令将被放置在历史列表中,以便可以调用和编辑它。但是,现在错误的命令会产生错误,但不会放置在历史列表中。以下是一个例子:
169-> for i in * do echo $i ; done
ksh: syntax error: `done' unexpected
169->
我故意在“do”之前省略了分号,导致命令失败。但您可以看到历史记录编号没有增加,并且无法调用命令进行编辑。这真是太麻烦了,我有 40 年的编辑肌肉记忆,但都被这件事打乱了。我很难相信有人在乱改 ksh 代码,但也许吧。无论如何,有没有人见过这种情况,有没有解决方案可以恢复旧的行为?
谢谢。
答案1
事实证明,旧的 ksh93 已被某种名为 ksh2020 的东西悄悄取代,而这个东西有错误,包括我在这里报告的错误。ksh93 没有在 synaptic 中列出,但它仍然存在于存储库中,我能够使用以下命令重新安装它:
安装 ksh93
我还被告知,在 Ubuntu 20.04 发布后,ksh 包恢复到了 93u,但据我所知,这在 synaptic 中仍然没有反映出来,这非常令人困惑。我希望这对其他人有所帮助。
以下是错误报告的链接: