小编gro*_*ser的帖子

如何从函数的语句中退出 powershell 函数

我希望函数语句 ( begin, process, end)的返回也应该终止其所有语句,但这不会发生。

我有一个这样的测试功能:

function test($a) {
    begin { 
        Write-Host 'begin ' -NoNewline
        if ($a -like '*begin*') { return; } 
    }
    process {
        Write-Host 'process ' -NoNewline
        if ($a -like '*process*') { return; } 
    }
    end {
        Write-Host 'end' -NoNewline
        if ($a -like '*end*') { return; } 
    }
}
Run Code Online (Sandbox Code Playgroud)

当我以这种方式运行它时:

'begin', 'process', 'end' | ForEach-Object {
    Write-Host "Try exit in $_ :`t" -NoNewline
    test $_
    Write-Host
}
Run Code Online (Sandbox Code Playgroud)

然后我得到类似的结果:

Try exit in begin :     begin process …
Run Code Online (Sandbox Code Playgroud)

powershell

2
推荐指数
1
解决办法
43
查看次数

标签 统计

powershell ×1