PowerShell函数返回值

2022-10-07 0 1,200

前言:

在自定义 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 函数返回值

收藏 (0)

微信支付 微信扫一扫

支付宝支付 支付宝扫一扫

打赏二维码
点赞 (0)

站长资源下载中心-找源码上汇站

常见问题
  • 如果付款后没有弹出下载页面,多刷新几下,有问题联系客服!
查看详情
  • 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。
查看详情

相关文章

联系官方客服

为您解决烦忧 - 24小时在线 专业服务