Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从PowerShell历史记录中编辑命令,然后再执行该命令_Powershell - Fatal编程技术网

从PowerShell历史记录中编辑命令,然后再执行该命令

从PowerShell历史记录中编辑命令,然后再执行该命令,powershell,Powershell,如果我使用powershell历史记录中的命令,如invoke history-id 5,它将按原样执行 有没有办法在执行前编辑命令 我只找到了-confirm选项,但这只会在执行前显示命令,但我找不到任何编辑它的可能性 谢谢我一直在寻找一种方法,将(Get History-Id 5)命令行的输出插入到输入缓冲区,但我认为这是一种错误的方法。通过按^R(CTRL+R)并键入历史记录中的某些内容,您可以对命令历史记录进行一次更改。该命令将解析与输入匹配的最新命令,但您可以继续键入,或再次按^R解析

如果我使用powershell历史记录中的命令,如
invoke history-id 5
,它将按原样执行
有没有办法在执行前编辑命令
我只找到了
-confirm
选项,但这只会在执行前显示命令,但我找不到任何编辑它的可能性


谢谢

我一直在寻找一种方法,将
(Get History-Id 5)命令行的输出插入到输入缓冲区,但我认为这是一种错误的方法。通过按
^R
CTRL+R
)并键入历史记录中的某些内容,您可以对命令历史记录进行一次更改。该命令将解析与输入匹配的最新命令,但您可以继续键入,或再次按
^R
解析下一个最新命令

这就像Linux shell中的反向搜索一样,但我将在下面为不熟悉的人解释


如果我昨天运行以下命令:

ping www.google.com
我决定今天再次运行它,我将键入以下击键:

^R ping
这将插入最近的命令conaining
ping
。如果
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这样的反向搜索时,我说“什么都不可能”