创建功能时,我在家用笔记本电脑上遇到奇怪的行为。参数不会传递到函数中。
示例:
Mongo 3.6+
使用以下代码(function Get-Info {
param (
$input
)
$input | gm
}
),我收到以下错误消息:
Get-Info -input 'test'
我也只是尝试打印带有参数的详细语句,但是我只得到一个空行。
为什么参数未传递到函数中?
答案 0 :(得分:6)
@JosefZ的评论是正确的。 $ input基本上是about_Automatic_Variables中所述的保留变量名。
包含一个枚举器,该枚举器枚举传递给函数的所有输入。 $ input变量仅适用于函数和脚本块(未命名的函数)。
因此,更改参数名称应该可以按预期进行。但是不要忘记也要更改函数的调用方式,以便它也使用新的参数名称。在这种情况下,您也可以在调用函数时完全跳过参数名称
function Get-Info { param($myinput) $myinput | gm }
Get-Info -myinput 'test'
Get-Info 'test'
答案 1 :(得分:-1)
尝试这种方式。 这个 [字串] | gm