PowerShell函數(shù)簡明教程
PowerShell函數(shù)跟其它的編程語言的函數(shù)差不多,主要涉及輸入?yún)?shù)、處理、輸出參數(shù)、返回值、如何調(diào)用等方面的內(nèi)容,下面逐一介紹。
1、PowerShell函數(shù)定義
定義函數(shù)使用function關(guān)鍵字,使用自定義的標(biāo)識符作為函數(shù)名,使用一對大括號括起函數(shù)體。如下:
function <函數(shù)名>{
<函數(shù)體>;
}
舉例:
function Test-Fun{
$args0 = $args[0]
$args1 = $args[1]
Write-Host "p1=$args[0], p2=$args[1]"
Write-Host "p1=$args0, p2=$args1"
}
在做這個例子的時候,洪哥遇到了很悲推的一幕。感覺完全相同的兩種輸出方式,結(jié)果是截然不同。洪哥只能說,雙引號中的$args變量,居然不管后面的中括號和下標(biāo),真TMD的太詭異了,慎用!真相如下:
PS > function Test-Fun{
>> $args0 = $args[0]
>> $args1 = $args[1]
>> $msg = "p1=$args[0], p2=$args[1]"
>> Write-Host "p1=$args[0], p2=$args[1]"
>> Write-Host $msg
>> Write-Host "p1=$args0, p2=$args1"
>> }
>>
PS > test-fun 111 222
p1=111 222[0], p2=111 222[1]
p1=111 222[0], p2=111 222[1]
p1=111, p2=222
2、PowerShell函數(shù)輸入?yún)?shù)
在函數(shù)體中,使用Param()方法來定義函數(shù)的輸入?yún)?shù),如下:
function <函數(shù)名>{
Param($p1,$p2,...);
<函數(shù)體>;
}
關(guān)于PowerShell函數(shù)輸入?yún)?shù)的更多詳細(xì)介紹,比如“位置參數(shù)”、“名稱參數(shù)”、“參數(shù)屬性”等,請移步“PowerShell教程之PowerShell函數(shù)輸入?yún)?shù)”。
3、PowerShell函數(shù)返回值
PowerShell會把所有函數(shù)體中的輸出打包成一個System.Array對象當(dāng)作返回值。雖然PowerShell也支持return語句,但是洪哥前面講的這句話仍然有效。所以,這個return就是擺設(shè)。
4、PowerShell函數(shù)調(diào)用
函數(shù)的調(diào)用很簡單,跟VB調(diào)用函數(shù)的方式差不多。如下:
舉例:
Test-Fun "參數(shù)值"
Test-Fun "參數(shù)值1", "參數(shù)值2", "參數(shù)值3"
Test-Fun -p1 "參數(shù)值1" -p2 "參數(shù)值2"
相關(guān)文章
PowerShell腳本開發(fā)嘗試登錄SQL Server
本文創(chuàng)建了PSSecurity工具集,介紹了通過PowerShell嘗試登錄SQLServer的方法,此種方法可以用于暴力破解和窮舉賬戶密碼,窮舉就需要依靠比較全面的字典的支持了。2014-10-10Windows Powershell 命令返回數(shù)組
這篇文章主要介紹了Windows Powershell 命令返回數(shù)組的使用方法,需要的朋友可以參考下2014-09-09Windows Powershell排序和分組管道結(jié)果
本文通過實例,詳細(xì)介紹了Powershell如何對管道結(jié)果進(jìn)行排序和分組,非常的實用,有需要的朋友可以參考下2014-09-09PowerShell實現(xiàn)在多個文件中檢索關(guān)鍵字功能
這篇文章主要介紹了PowerShell實現(xiàn)在多個文件中檢索關(guān)鍵字功能,本文使用Select-String解決這了個需求,需要的朋友可以參考下2015-01-01PowerShell腳本開發(fā)之收發(fā)TCP消息包
這篇文章里將會描述如何在PSNet包中創(chuàng)建針對TCP消息包的函數(shù)Receive-和TCPMessageSend-TCPMessage。并把相關(guān)代碼分享給大家,有需要的朋友可以參考下。2014-10-10PowerShell函數(shù)參數(shù)設(shè)置成自動識別數(shù)據(jù)類型的例子
這篇文章主要介紹了PowerShell函數(shù)參數(shù)設(shè)置成自動識別數(shù)據(jù)類型的例子,這個方法可以很方便的使用參數(shù)集,而不用每次指定名稱,需要的朋友可以參考下2014-07-07PowerShell包含另一個腳本文件和獲取當(dāng)前腳本所在目錄的方法例子
這篇文章主要介紹了PowerShell包含另一個腳本文件和獲取當(dāng)前腳本所在目錄的方法例子,需要的朋友可以參考下2014-08-08