考虑这个简单的代码:
function Fruits {
Install-WindowsFeature -Name Telnet-Client
return @("apple", "banana", "orange")
}
$FruitArray = @(Fruits)
$FruitArray[0]
的输出:
Success Restart Needed Exit Code Feature Result
------- -------------- --------- --------------
True Yes Success {}
$FruitArray[1], $FruitArray[2], $FruitArray[3]
的输出:
apple
banana
orange
这里发生了什么?如何使用return
?
使用PowerShell版本5.1,Server 2012 R2。
答案 0 :(得分:1)
您会收到意外的输出,因为Install-WindowsFeature
会返回一个对象。
如果您不关心Install-WindowsFeature
的结果,可以将结果传递给null
,如下所示:
Install-WindowsFeature -Name Telnet-Client *> $null
答案 1 :(得分:0)
格式正确,看看here
从链接(强调我的):
Return关键字退出函数,脚本或脚本块。它可用于退出特定点的范围,返回值或指示已达到范围的结尾。
熟悉C或C#等语言的用户可能希望使用Return关键字来制作明确保留范围的逻辑。
在PowerShell中,即使没有包含Return关键字的语句,每个语句的结果也会作为输出返回。 C或C#等语言仅返回Return关键字指定的值。
块引用