本文介绍在自定义PowerShell函数时,有一个$Input变量,这是一个系统自带的变量,它表示以块结构输入的管道数据。
先看看这个$Input变量在函数中是如何使用的。
function Test-Pipeline {
$pipelineData = @($Input)
$Count = $pipelineData.Count
“Received $Count elements: $pipelineData”
}
运行结果如下:
PS> 1..10 | Test-Pipeline
Received 10 elements: 1 2 3 4 5 6 7 8 9 10
上面例子中,先将$Input变量转换为一个数组(即变量$pipelineData),这样做的好处是后面可以任意的使用$pipelineData变量。大家可能有疑问,什么叫任意使用$pipelineData变量,难道$Input变量不能任意使用?呵呵,说对了!$Input变量只能使用一次!如果不将它赋值给别的变量,那第二次使用到这个$Input变量时,你会怀疑你的眼睛。不信且看:
function Test-Pipeline {
$Count = $Input.Count
“Received $Count elements: $Input”
}
PS> 1..10 | Test-Pipeline
Received 1 1 1 1 1 1 1 1 1 1 elements:
这个神奇的$Input变量,总的来说,它可以将管道输入以块结构接收,并且只能读一次。
关于PowerShell函数中的$Input变量,本文就介绍这么多,希望对您有所帮助,谢谢!