PowerShell函數簡明教程_PowerShell

來源:互聯網
上載者:User

PowerShell函數跟其它的程式設計語言的函數差不多,主要涉及輸入參數、處理、輸出參數、傳回值、如何調用等方面的內容,下面逐一介紹。

1、PowerShell函數定義

定義函數使用function關鍵字,使用自訂的標識符作為函數名,使用一對大括弧括起函數體。如下:

複製代碼 代碼如下:

function <函數名>{
   <函數體>;
}

舉例:
複製代碼 代碼如下:

function Test-Fun{
   $args0 = $args[0]
   $args1 = $args[1]
   Write-Host "p1=$args[0], p2=$args[1]"
   Write-Host "p1=$args0, p2=$args1"
}

在做這個例子的時候,洪哥遇到了很悲推的一幕。感覺完全相同的兩種輸出方式,結果是截然不同。洪哥只能說,雙引號中的$args變數,居然不管後面的中括弧和下標,真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函數輸入參數

在函數體中,使用Param()方法來定義函數的輸入參數,如下:

複製代碼 代碼如下:

function <函數名>{
   Param($p1,$p2,...);
   <函數體>;
}

關於PowerShell函數輸入參數的更多詳細介紹,比如“位置參數”、“名稱參數”、“參數屬性”等,請移步“PowerShell教程之PowerShell函數輸入參數”。

3、PowerShell函數傳回值

PowerShell會把所有函數體中的輸出打包成一個System.Array對象當作傳回值。雖然PowerShell也支援return語句,但是洪哥前面講的這句話仍然有效。所以,這個return就是擺設。

4、PowerShell函數調用

函數的調用很簡單,跟VB調用函數的方式差不多。如下:

複製代碼 代碼如下:
<函數名> [[-參數名1] 參數值1[, [-參數名2] 參數值2], ...]
舉例:
Test-Fun "參數值"
Test-Fun "參數值1", "參數值2", "參數值3"
Test-Fun -p1 "參數值1" -p2 "參數值2"

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.