如何在Powershell中永远重复一个命令?

Tan*_*ash 5 powershell

我正在运行一个我想在它完成后重新运行的命令,而无需导航回终端再次输入该命令。

我知道在 Ubuntu 中,我可以使用命令运行终端,如果我设置正确,它将永远循环,例如gnome-terminal -x $MY_COMMAND.

鉴于我无法将 Powershell 标记为重新运行命令而不是关闭窗口,我如何无限期地重复命令?

Tan*_*ash 11

事实证明答案相当简单,将命令永远包裹在一个循环中。这将允许您使用 Ctrl-C 退出它,即使在您的命令完成或第一次退出后,它也会继续重复。

while ($true) {
  my_command;
}
Run Code Online (Sandbox Code Playgroud)

或者就我而言,作为单行:while ($true) { python3 .\manage.py runserver_plus 8080; }


The*_*le1 5

这将在执行完成后无限重复运行命令:

While (1)
{
    Start-Process -FilePath 'python3' -ArgumentList @('.\manage.py','runserver_plus','8080') -Wait -ErrorAction 'SilentlyContinue'
}
Run Code Online (Sandbox Code Playgroud)

或者:

#requires -Version 3
While (1)
{
    Try {
        $Params = @{FilePath='python3'
                    ArgumentList=@('.\manage.py','runserver_plus','8080')
                    Wait=$True
                    ErrorAction='Stop'}
        Start-Process @Params
    } Catch {
        <# Deal with errors #>
        Continue
    }
}
Run Code Online (Sandbox Code Playgroud)