الثلاثاء، 24 ديسمبر 2013

Understanding Cmdlet positional parameter

All, Forgive me I am a newbie for the Power Shell, Currently I was reading book Windows PowerShell CookBook try to get start with it. So far, Everything make sense to me except one thing, I was totally confused with the Positional Parameter to Cmdlet.

For example: Select-String

The syntax is following :

Select-String [-Pattern] [-Path] [-AllMatches] [-CaseSensitive] [-Context ][-Encoding ] [-Exclude ] [-Include ] [-List] [-NotMatch] [-Quiet] [-SimpleMatch][]Select-String [-Pattern] [-AllMatches] [-CaseSensitive] [-Context ] [-Encoding ][-Exclude ] [-Include ] [-List] [-NotMatch] [-Quiet] [-SimpleMatch] -InputObject []Select-String [-Pattern] [-AllMatches] [-CaseSensitive] [-Context ] [-Encoding ][-Exclude ] [-Include ] [-List] [-NotMatch] [-Quiet] [-SimpleMatch] -LiteralPath []

I can pass the parameter value to the Cmdlet directly by ignoring the parameter name . like below:

"Hello World"|Select-String .

Based on the concept of Positional parameter,Because the parameter -Pattern is the first parameter. the value . can match the parameter -Pattern. It is ok for me to understand.

But When I try this command line "hello world" | Select-String -AllMatches . the value . is not in the first. Why the Select-String can know it and work out the result ? Could someone please tell me more to better understand it ? thanks.


View the original article here

ليست هناك تعليقات:

إرسال تعليق