標籤:函數 自訂 powershell
經過前面兩篇介紹,應該可以寫出一個最簡單的Function了.但隨著使用的深入,很快就會感覺到力不從心.
因為基礎的Function是在是感覺太Low了,跟官方的或是人家寫出來的比起來...功能弱雞.逼格不高.
那麼為了強化我們的Function,讓逼格高起來.從這一篇開始講解進階一些的功能.
目標:
1.輸入姓名和年齡後,直接在顯示 某某 今年 多少 歲 .
2.強制使用Name參數.
樣本:
Function Test-Function { Param ( [parameter(Mandatory=$true)]$Name, $Age = "18" ) Write-Host "$Name 今年 $Age 歲." }
說明:
與上篇文章中相比,我們在Name參數的前面加上了一些關鍵字"[parameter(Mandatory=$true)]",包括後面還會介紹一些針對參數的設定,都是寫在"parameter( )"裡面
在這一篇裡,我們設定了Mandatory=$true來表示,在使用這個Function的時候必須要使用Name參數.因為從我們的目標來看,如果不使用Name的參數的話那就會顯示成"(空白) 今年 多少歲"這顯然是不合適的.
運行結果:
650) this.width=650;" title="image" style="border-right-width:0px;border-bottom-width:0px;border-top-width:0px;" border="0" alt="image" src="http://s3.51cto.com/wyfs02/M00/92/ED/wKioL1kFguSSo4qHAADjA1uHjiI266.png" width="361" height="273" />
可以看到,我在不指定任何參數的情況下運行了Test-Function,但PowerShell提示我要為Name參數提供一個值.直到我提供了Name的值以後,這個Function才得以正常的運行下去.
這樣,就達到我們 要求指定一個人名的情況下才能執行 的目的.當然如果你一開始就老老實實的為Name賦值了是可以順暢運行下去的.
本文出自 “彪鍋” 部落格,謝絕轉載!
PowerShell-自訂函數(三)-強制參數:Mandatory