本文介紹什么是開(kāi)關(guān)參數(shù),在PowerShell自定義函數(shù)中,如何創(chuàng)建開(kāi)關(guān)參數(shù)并使用開(kāi)關(guān)參數(shù)的值。
什么叫開(kāi)關(guān)參數(shù)呢?舉個(gè)例子,技術(shù)男一般都知道有一個(gè)網(wǎng)絡(luò)命令叫“Ping”,我們可以使用“ping www.jb51.net”這樣一個(gè)命令來(lái)檢查本地計(jì)算機(jī)到www.jb51.net這個(gè)網(wǎng)站所在的服務(wù)器網(wǎng)絡(luò)是否連通。這個(gè)命令會(huì)從本地發(fā)送4個(gè)數(shù)據(jù)包到www.jb51.net服務(wù)器,并顯示每個(gè)數(shù)據(jù)包是否收到了反饋結(jié)果。如果我正在重啟www.jb51.net這臺(tái)服務(wù)器,那么ping是得不到返回的。如果服務(wù)器重啟好了,那么就又會(huì)有返回結(jié)果了。于是我使用“ping -t www.jb51.net”這個(gè)命令,它可以一直向www.jb51.net服務(wù)器發(fā)送數(shù)據(jù)包,而不是默認(rèn)的4個(gè)。
好了,扯了這么說(shuō),我要說(shuō)明的是什么呢?就是這個(gè)“-t”參數(shù),它就是一個(gè)開(kāi)關(guān)參數(shù)。有了它,ping就一直發(fā)數(shù)據(jù)包,沒(méi)有它,ping就只發(fā)4個(gè)數(shù)據(jù)包。那我們來(lái)看看在PowerShell自定義函數(shù)中,如何創(chuàng)建這樣一個(gè)開(kāi)關(guān)參數(shù)。
復(fù)制代碼 代碼如下:
function Test-Ping {
param
(
[Switch]
$t
)
if ($t)
{
Write-Host ‘一直ping'
}
else
{
Write-Host ‘ping 4 次'
}
}
OK,這個(gè)函數(shù)我就來(lái)模擬了一下ping的-t開(kāi)關(guān)函數(shù),參數(shù)名為$t。if($t)表示使用了-t參數(shù),在調(diào)用時(shí)應(yīng)該是“Test-Ping -t”,這時(shí)應(yīng)該輸出“一直ping”。如果直接調(diào)用 Test-Ping,那將得到“ping 4 次”的提示。
復(fù)制代碼 代碼如下:
PS C:\Users\Hong> test-ping
ping 4 次
PS C:\Users\Hong> test-ping -t
一直ping
前者是沒(méi)有啟用開(kāi)關(guān),后者啟用了開(kāi)關(guān)。這就是開(kāi)關(guān)參數(shù)在PowerShell函數(shù)中的使用。
關(guān)于PowerShell函數(shù)中創(chuàng)建開(kāi)關(guān)參數(shù),本文就介紹這么多,希望對(duì)您有所幫助,謝謝!