在Unix shell脚本中,要对脚本的原始参数调用命令foo
,只需编写
foo $@
在Powershell中,$args
是包含当前脚本参数的(通常)字符串数组。如果你写
foo $args
会发生与bash或其他典型的Unix shell脚本解释器相同的事情吗?
答案 0 :(得分:3)
您希望使用PowerShell 2.0中新增的参数splatting。用于splatting的变量可以是数组(args在位置上绑定)或哈希表(键映射到参数名称,它们的值提供参数)。如果您未声明任何参数,请使用@args
。尝试使用$args
的问题在于,它将作为数组发送到第一个参数,而不是溅在所有参数上。然而,许多人确实声明了参数。在这种情况下,您希望使用@PSBoundParameters,例如:
foo @PSBoundParameters