3

根据定义,$args 变量应该包含传递给脚本函数的所有参数。但是,如果我在函数内部构建管道,则 $args 变量的计算结果为 null。有谁知道为什么?

看这个例子:

function test { 1..3 | % { echo "args inside pipeline: $args" } ; echo "args outside pipeline: $args" }

这是传递参数“hello”时的输出:

PS> test hello
args inside pipeline:
args inside pipeline:
args inside pipeline:
args outside pipeline: hello

这有什么具体原因吗?我知道如何解决这个问题,但是我想知道那里的任何人是否可以解释这个原因。

4

1 回答 1

5

管道使用 $input。试试这个:

function test { 1..3 | % { echo "args inside pipeline: $input" } ; echo "args outside pipeline: $args" }
于 2009-01-16T16:14:38.490 回答