从PowerShell历史记录中编辑命令,然后再执行该命令
如果我使用powershell历史记录中的命令,如从PowerShell历史记录中编辑命令,然后再执行该命令,powershell,Powershell,如果我使用powershell历史记录中的命令,如invoke history-id 5,它将按原样执行 有没有办法在执行前编辑命令 我只找到了-confirm选项,但这只会在执行前显示命令,但我找不到任何编辑它的可能性 谢谢我一直在寻找一种方法,将(Get History-Id 5)命令行的输出插入到输入缓冲区,但我认为这是一种错误的方法。通过按^R(CTRL+R)并键入历史记录中的某些内容,您可以对命令历史记录进行一次更改。该命令将解析与输入匹配的最新命令,但您可以继续键入,或再次按^R解析
invoke history-id 5
,它将按原样执行有没有办法在执行前编辑命令
我只找到了
-confirm
选项,但这只会在执行前显示命令,但我找不到任何编辑它的可能性
谢谢我一直在寻找一种方法,将
(Get History-Id 5)命令行的输出插入到输入缓冲区,但我认为这是一种错误的方法。通过按^R
(CTRL+R
)并键入历史记录中的某些内容,您可以对命令历史记录进行一次更改。该命令将解析与输入匹配的最新命令,但您可以继续键入,或再次按^R
解析下一个最新命令
这就像Linux shell中的反向搜索一样,但我将在下面为不熟悉的人解释
如果我昨天运行以下命令:
ping www.google.com
我决定今天再次运行它,我将键入以下击键:
^R ping
这将插入最近的命令conainingping
。如果ping www.google.com
不是最新的匹配项,请再次按^R
,直到获得所需的上一个命令
这在自动化场景中不太合适,但在以交互方式使用终端时非常有用。如果需要以编程方式转换以前的命令,则可以获取(get History-Id 5).CommandLine的输出,并在使用调用&
操作符执行之前相应地转换生成的字符串。可以使用(get History-Id 5).CommandLine
获取字符串,但我不确定如何将输出添加到输入缓冲区。在该命令上寻找解决方案您是对的,该命令将以字符串形式输出该命令。我搜索的是Linux/Bash中的反向搜索。bash history中找到的命令在执行之前是可编辑的。我只是在回答时记住了这一点,PowerShell中也有同样的功能,我自己也有双面Palm^R
这与Linux/Bash中的方式完全相同。谢谢:)我记得当我发现powershell支持像*sh这样的反向搜索时,我说“什么都不可能”