適用于PowerShell 2.0或著更高版本
當(dāng)你使用PowerShell 創(chuàng)建了一個(gè)函數(shù)時(shí),要確保你告訴PowerShell 你的參數(shù)期望什么樣的值。比如你想用戶輸入星期
復(fù)制代碼 代碼如下:
function Get-Weekday
{
param
(
$Weekday
)
"You chose $Weekday"
}
此時(shí)用戶可以輸入任何值,即使這個(gè)值不是一個(gè)合法的星期,比如星期七
復(fù)制代碼 代碼如下:
PS> Get-Weekday -Weekday NoWeekday
You chose NoWeekday
也許你之前還見過正則表達(dá)式類型的驗(yàn)證方式:
復(fù)制代碼 代碼如下:
function Get-Weekday
{
param
(
[ValidatePattern('Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday')]
$Weekday
)
"You chose $Weekday"
}
現(xiàn)在一旦用戶輸入的字符串與你指定的模式不匹配時(shí),Powershell會(huì)拋出一個(gè)異常,但是這個(gè)異常信息不夠友好。在輸出參數(shù)時(shí),控制臺(tái)或著ISE編輯器也不能智能提示:
所以更好的方式應(yīng)當(dāng)是使用ValidateSet:
復(fù)制代碼 代碼如下:
function Get-Weekday
{
param
(
[ValidateSet('Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday')]
$Weekday
)
"You chose $Weekday"
}
現(xiàn)在用戶在輸出參數(shù)時(shí)被限定在你規(guī)定的值集合中,另外在ISE中還會(huì)智能提示用戶允許的值列表。如果你能在.NET的類型中找到一個(gè)枚舉值剛好描述你需要的參數(shù),那就更易如反掌了:
復(fù)制代碼 代碼如下:
function Get-Weekday
{
param
(
[System.DayOfWeek]
$Weekday
)
"You chose $Weekday"
}
您可能感興趣的文章:- Shell時(shí)間(date)相關(guān)命令
- linux shell實(shí)現(xiàn)隨機(jī)數(shù)幾種方法分享(date,random,uuid)
- PowerShell中iso8601格式日期和DateTime對(duì)象互轉(zhuǎn)實(shí)例
- Shell腳本實(shí)現(xiàn)隨機(jī)數(shù)多種方法介紹(date、random、uuid)
- Powershell小技巧之使用Update-TypeData擴(kuò)展類型系統(tǒng)
- PowerShell中使用Get-Date獲取日期時(shí)間并格式化輸出的例子
- PowerShell中Get-Date對(duì)象的常用屬性和方法介紹
- shell語言date的用法實(shí)例