ksh 历史问题

ksh 历史问题

我在 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 中仍然没有反映出来,这非常令人困惑。我希望这对其他人有所帮助。

以下是错误报告的链接:

https://bugs.launchpad.net/ubuntu/+source/ksh/+bug/1918017

相关内容