根据定义,$ 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
有具体原因吗?我知道如何解决这个问题,但是我想知道那里是不是可以解释原因。
答案 0 :(得分:5)
管道使用$ input。试试这个:
function test { 1..3 | % { echo "args inside pipeline: $input" } ; echo "args outside pipeline: $args" }