我正在写一个简单的PowerShell脚本,我不明白它的行为。这是代码。
Function print($first,$second){
Write-Host "$first"
}
$one="Dog"
$two="Cat"
print($one,$two)
这是输出。
Dog Cat
我不知道为什么它打印两个参数而不仅仅是我要求的参数。我发现了一个类似的问题,说解决方案的答案是写
print $one $two
但我不知道为什么。 另一个问题是How do I pass multiple string parameters to a PowerShell script?
有人可以阐明这个问题吗?
答案 0 :(得分:6)
就像你提到的那样,你必须把它称为:
print $one $two
在Powershell中,函数的参数是用空格而不是逗号分隔的,并没有用括号括起来(但方法参数却是这样)
您调用的方式print($one,$two)
,就像使用一个参数(即($one,$two)
)调用print。所以当你write-host $first
时,你正在回应数组,因此你会看到它们。