先看一个例子,用管道作为输入参数的函数:
function Test-Pipeline {
param(
[Parameter(ValueFromPipeline=$true)]
$InputObject
)
process
{
“Working with $InputObject”
}
}
使用管道作为输入参数,函数的执行情况如下:
PS> 1..4 | Test-Pipeline
Working with 1
Working with 2
Working with 3
Working with 4
在Test-Pipeline函数中,InputObject是一个接收管道输入的参数。InputObject参数之前,我们用了[Parameter(ValueFromPipeline=$true)]这个条指令,从指令的名称来看,我们就发现了ValueFromPipeline,表示从管道获取值。
另外,洪哥要说的是,在PowerShell所有的系统自带函数中,从管道获取值的参数名称都叫InputObject,我们在开发的过程中应该继承并发扬这一风格。
关于PowerShell函数通过管道接收参数,本文就介绍这么多,希望对您有所帮助,谢谢!