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