在PowerShell中返回关键字 - 输出格式不正确

时间:2018-04-04 10:50:20

标签: powershell

考虑这个简单的代码:

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。

2 个答案:

答案 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关键字指定的值。

     

块引用