说我执行命令:
git pshu
这会给我:
git: 'pshu' is not a git command. See 'git --help'.
Did you mean this?
push
如果这是我执行的最后一个命令,我想检索命令并将其输出存储在变量中以供进一步使用。
到目前为止,我尝试过这样的事情:
$var = echo (iex (h)[-1].CommandLine)
$var = iex (h)[-1].CommandLine | Out-String
等
如何将此类输出保存到变量?
答案 0 :(得分:0)
假设您正在运行多个命令,并且您想根据其输入存储运行命令。
让我们说您想将不存在的git命令存储为git pshu
。我的建议是存储命令并在输出中以"Did you mean..."
的形式搜索所需的模式。在这种情况下,您可以按照以下步骤操作:
$output = git pshu *>&1
if ( "$output".indexOf("Did you mean") -ge 0 ) {
write-host "Command '$($(get-history)[$(get-history).count-1].CommandLine)' didnt exist"
其中$(get-history)[$(get-history).count-1].CommandLine
将包含最新的运行命令,在此示例中为'git pshu'