PowerShell函数中的$Input变量


关键词

PowerShell函数 $Input变量

摘要

本文介绍在自定义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变量,本文就介绍这么多,希望对您有所帮助,谢谢!

 

文章的版权

洪哥写文章很苦逼,如果本文对您略有帮助,点击感兴趣的广告支持洪哥!万分感谢!本文属于“洪哥笔记”原创文章,转载请注明来源地址:PowerShell函数中的$Input变量:http://www.splaybow.com/post/powershell-variant-input.html

关注与收藏

如果您在服务器运维、网络管理、网站或系统开发过程有需要提供收费服务,请加QQ:115085382!十年运维经验,帮您省钱、让您放心!
亲,如果有需要,先存起来,方便以后再看啊!加入收藏夹的话,按Ctrl+D


« PowerShell函数通过管道接收参数 PowerShell使用Filter来创建函数 »