先看看这个$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变量,本文就介绍这么多,希望对您有所帮助,谢谢!

03-14 15:25