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函数返回值:http://www.splaybow.com/post/powershell-function-returnvalue.html
如果您在服务器运维、网络管理、网站或系统开发过程有需要提供收费服务,请加QQ:8771947!十年运维经验,帮您省钱、让您放心!
亲,如果有需要,先存起来,方便以后再看啊!加入收藏夹的话,按Ctrl+D!
发布时间:2014/1/12 19:23:47 | 编辑:洪哥 | 分类:PowerShell | 浏览: