华域联盟 PowerShell PowerShell函数一次返回多个返回值示例

PowerShell函数一次返回多个返回值示例

本文介绍在自定义PowerShell函数时,如何让函数返回值,如何接收返回值,如何让不相干的内容不放到返回值数组中。

PowerShell函数体中的任何输出,一般来说,都会以返回值的形式返回给函数调用者。多个输出的内容是放到一个返回值数组中的。

比如有如下一个返回值测试的函数,

复制代码 代码如下:

function Test-ReturnValue

{

    1

    ‘Hello'

    return Get-Date

}

这个函数定义了三个返回值,调用的效果如下:


复制代码 代码如下:

PS> Test-ReturnValue

1

Hello

Saturday, November 2, 2013 12:52:13

PS> $result = Test-ReturnValue

PS> $result[0]
1

由上面的调用可以看出,直接调用时,将像数组一样,分三行把每一个返回值都输出出来。而我们用一个变更$result来保存返回值时,我们可以看到函数的返回值是一个数组,从下标0开始,0-2是三个元素的下标。

下面我们说说如果想让函数有一些提示性的输出,但不想让这些个输出被放到函数的返回值中,应该怎么才能实现呢?微软建议我们使用Write-Host或Write-Warning,这两个cmdlet输出的内容将被直接显示到Console控制台上,而不会进入到返回值数组。

我们把上面的函数略作修改,加入两行提示性输出。

复制代码 代码如下: function Test-ReturnValue

{

    #加一句Write-Host

    Write-Host ‘Starting' -ForegroundColor Green

    1

    ‘Hello'

    #再加一个Write-Warning

    Write-Warning ‘Almost done...'

    return Get-Date

}

然后看看执行效果,

复制代码 代码如下:

PS> Test-ReturnValue

Starting

1

Hello

WARNING: Almost done...

Saturday, November 2, 2013 12:54:11

PS> $result = Test-ReturnValue
Starting
WARNING: Almost done...

一次是直接调用,一次是赋值调用,大家看明白其中的区别了吗?Write-Host和Write-Warning,什么叫直接输出到控制台!

关于PowerShell函数返回值,本文就介绍这么多,希望对您有所帮助,谢谢!

您可能感兴趣的文章:

本文由 华域联盟 原创撰写:华域联盟 » PowerShell函数一次返回多个返回值示例

转载请保留出处和原文链接:https://www.cnhackhy.com/14173.htm

本文来自网络,不代表华域联盟立场,转载请注明出处。

作者: sterben

发表回复

联系我们

联系我们

2551209778

在线咨询: QQ交谈

邮箱: [email protected]

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部