代码
比如我们有这样一个脚本文件:test.ps1
"start" | Write-Host
#continue
#break
#return
#exit
foreach($i in 1..10)
{
if($i -eq 5)
{
#continue
#break
#return
}
$i | Write-Host
}
11..20 | ForEach-Object{
if($_ -eq 15)
{
continue
#break
#return
}
$_ | Write-Host
}
"end" | Write-Host
结果
- exit任何情况下,都表示结束
- 直接运行test.ps1, 前5行中的continue,break,return都表示结束
- 假设我们通过test2.ps1调用test.ps1, 那么continue,break会阻塞执行,return则表示运行完成
- foreach中,和其他编程语言for中一样,continue会跳出本次循环,break会跳出循环,return会结束
- ForEach-Object中,continue和break会阻塞,return表示跳过本次循环。
参考
https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_continue?view=powershell-5.1
https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_break?view=powershell-5.1
https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_return?view=powershell-5.1