假如你在函数中想知道函数被调用时,是位于管道的结尾呢,还是在管道的中间。下面的例子会演示如何判断一个函数所处的管道位置。
function test { param( [Parameter(ValueFromPipeline=$true)]$data ) process { if ($MyInvocation.PipelinePosition -ne $MyInvocation.PipelineLength) { $data } else { Write-Host $data -foreground Red -background White } } } 2..4 | test 1..3 | test | Get-Random -count 2
在上面的例子中,如果Test函数被在管道的末尾调用,会将内容以红色背景,白色前景输出到控制台。
本文链接: https://www.pstips.net/powershell-determine-functions-pipeline-position.html
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!