首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PSReadLine在上一次命令执行后中断箭头的历史记录

PSReadLine在上一次命令执行后中断箭头的历史记录
EN

Stack Overflow用户
提问于 2021-02-10 20:55:26
回答 1查看 131关注 0票数 0

我想知道是否有其他人注意到,在PSReadLine中安装PowerShell模块似乎破坏了本机功能,它允许我们在使用箭头向上查找和执行之前的命令(Windows提示符也具有此功能)之后,通过后续命令进行向下箭头操作。

如果我们只是向上箭头而不执行任何操作的话,箭头向下的效果很好,但是如果我们箭头向上说出3条命令并执行它,那么之后的箭头就不会像我所期望的那样产生#2和#1命令,相反,它的作用就好像我们已经在历史缓冲区的末尾了一样。好像我们的“历史位置”在使用箭头向上执行之前的命令后不再保存。

通过一些测试,我设法找到了PSReadLine作为罪魁祸首。当我从会话中删除这个模块时,上述功能可以正常工作。

这是在Windows10 v20H2、PSv5.1 (以及许多其他操作系统版本一直追溯到Win7 SP1,以及其他PS版本一直到/包括PSv7.1)上复制的。问题显然似乎与模块有关。

通过搜索,我只找到了另一条提到以下内容的线程:

https://powershell.org/forums/topic/posh-v5-console-history-down-arrow-not-working-after-previous-command-entered/

...but没有决议。我有点惊讶这上面没有更多的东西。

有人知道是什么原因造成的吗?我是否可以在PSReadLine中更改一些配置以使旧的行为恢复?

任何帮助都是非常感谢的!

EN

回答 1

Stack Overflow用户

发布于 2021-02-10 22:46:24

最简单的解决方法是暂时禁用PSReadLine和Remove-Module PSReadLine。然后可以使用Install-Module PSReadLine重新启用它。

在我看来,这是一个有意的设计选择,但您应该考虑将其作为PSReadLine的GitHub:https://github.com/PowerShell/PSReadLine上的一个问题来报告。提供一个清晰的、一步一步的、可重复的行为序列,说明你所看到的行为和你期待的行为。我的猜测是,他们选择了模仿其他shell的行为来建模PSReadLine,所以我不希望得到太多的支持。不管怎样,你可能会得到一个解释。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66144873

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档