定義一個function:
PS C:\> function TestFunction{'$input:'+"$input" ; '$_:'+"$_"}
定義一個filter:
PS C:\> filter TestFilter{'$input:'+"$input" ; '$_:'+"$_"}

測試function:
PS C:\> "aaa","bbb" | TestFunction
結果:執行一次function
$input:aaa bbb
$_:

測試filter:
PS C:\> "aaa","bbb" | TestFilter
結果:執行兩次filter
$input:
aaa
$_:
aaa
$input:
bbb
$_:
bbb

由上述結果可知
function:
從pipeline讀取所有輸入後,僅執行一次function的內容,並且可透過$input變數一次取得pipeline所有輸入
filter
:      一次
從pipeline讀取一個輸入並執行filter的內容,且可透過$_(或者$input) 取得目前輸入

創作者介紹

PowerShell@HungYuWu

ayowu 發表在 痞客邦 PIXNET 留言(0) 人氣()