概述
脚本块是一个语句或表达式的集合,可作为独立单元使用。
脚本块位于一对花括号中,将作为整体执行。
跟函数很类似,函数常被当作命名的脚本块。因此,脚本块自然可以接受参数——只是没有名称,参数不能定义在花括号外——也可以有返回值。
语法如下:
1 | { |
执行、传参和返回值
脚本块最简单的执行方式是使用 &
操作符,参数直接跟在脚本块后,如:
1 | & {param($who="world") Write-Host "Hello, $who" } Eric |
如果脚本块带有返回值,可将调用结果赋值给变量:
1 | $value = & {return 42} |
常见使用
通常,为了复用或传递等原因,脚本块常被赋值给变量进行使用。
1 | $add = { |
当然,也可以使用 Invoke-Command
cmdlet 来执行脚本块,比如上面的脚本块可以这样执行:
1 | Invoke-Command -ScriptBlock $add -ArgumentList 4,3 |
处理管道对象
同样,脚本块也可以处理管道对象,比如:
1 | Get-Process | Select -last 5 | & { |