【问题标题】:Chain commands on the PowerShell command line (like POSIX sh &&) [duplicate]PowerShell 命令行上的链式命令(如 POSIX sh &&)[重复]
【发布时间】:2012-06-21 16:23:33
【问题描述】:

PowerShell 是否具有与 sh(及其衍生产品)中的此命令构造等效的功能:

$ cmd1 && cmd2

cmd2 仅在cmd1 成功退出时运行?

我知道您可以将命令与分号结合使用。但是,这忽略了命令的退出状态。

【问题讨论】:

    标签: shell powershell conditional powershell-2.0


    【解决方案1】:

    试试这个:

    $errorActionPreference='Stop'; cmd1; cmd2
    

    【讨论】:

    • 如果第一个命令用这种方法失败了,下一个命令仍然会被执行。
    • 刚刚测试过——第二个命令还在执行。
    • 是的,抱歉,我相信它应该只适用于本机 PowerShell cmdlet...
    • 我几乎无法理解积极的观点。你的提议会杀死整个脚本,而如果 A 失败,unix shell 中的“a && b”不会停止一切。
    • 有“$?”如果命令成功执行,则存储自动变量。所以 cmd2 可能是if($?) { cmd2 } 我相信
    【解决方案2】:

    没有与 && 或 || 的直接模拟。不过,有几个关于替代品的讨论。这是一个例子:

    conditional execution (&& and ||) in powershell

    【讨论】:

    • 当我发布这个答案时,我意识到说“这里已经回答了同一个问题”是很愚蠢的。我已投票结束此问题。
    • 这个页面是有目的的;当搜索“chain commands powershell”时,您会来到这里。因此,您可以通过链接找到真正的答案。
    猜你喜欢
    • 2021-01-15
    • 2012-06-06
    • 1970-01-01
    • 2014-04-12
    • 2020-12-14
    • 2021-05-22
    • 1970-01-01
    • 2010-11-16
    • 1970-01-01
    相关资源
    最近更新 更多