gpt4 book ai didi

powershell - 在新窗口中打开powershell核心的正确方法是什么?

转载 作者:行者123 更新时间:2023-12-02 23:07:28 27 4
gpt4 key购买 nike

此命令打开一个新的 powershell 窗口,运行命令,然后退出:

Start-Process powershell { echo "hello"; sleep 1; echo "two"; sleep 1; echo "goodbye" }

如果我改为启动 Powershell Core,它会打开一个新窗口,但新窗口会立即退出:
Start-Process pwsh { echo "hello"; sleep 1; echo "two"; sleep 1; echo "goodbye" }

用 pwsh 进行这种调用的正确方法是什么?

最佳答案

不要将脚本 block ( { ... } ) 与 Start-Process 一起使用- 它作为字符串绑定(bind)到 -ArgumentList参数,表示其文字内容 - 除了封闭的 {} ——通过了。

  • 在 Windows PowerShell ( powershell.exe ) 中,CLI 的默认参数是 -Command .
  • 在 PowerShell Core (v6+, pwsh.exe / pwsh ) 中,它是 -File [1],这就是您的命令失败的原因。

  • 因此,在 PowerShell Core 中,您必须使用 -Command ( -c ) 明确:
    Start-Process pwsh '-c', 'echo "hello"; sleep 1; echo "two"; sleep 1; echo "goodbye"'

    [1] 为了在 shebang lines 中正确支持 PowerShell Core 的使用,此更改是必要的。在类 Unix 平台上。

    关于powershell - 在新窗口中打开powershell核心的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58774632/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com