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控制臺上,而不會進入到返回值數組。
我們把上面的函數略作修改,加入兩行提示性輸出。
{
#加一句Write-Host
Write-Host ‘Starting' -ForegroundColor Green
1
‘Hello'
#再加一個Write-Warning
Write-Warning ‘Almost done...'
return Get-Date
}
然后看看執(zhí)行效果,
PS> Test-ReturnValue
Starting
1
Hello
WARNING: Almost done...
Saturday, November 2, 2013 12:54:11
PS> $result = Test-ReturnValue
Starting
WARNING: Almost done...
一次是直接調用,一次是賦值調用,大家看明白其中的區(qū)別了嗎?Write-Host和Write-Warning,什么叫直接輸出到控制臺!
關于PowerShell函數返回值,本文就介紹這么多,希望對您有所幫助,謝謝!
相關文章
PowerShell小技巧之調用CloudFlare的SDK查詢網站統(tǒng)計信息
本文主要是記述使用powershell調用CloudFlare的SDK查詢網站統(tǒng)計信息,非常實用,希望對大家有所幫助2014-09-09