我刚开始学习PS。有人可以解释我下面的例子(它的原因如果可能的话):字符串内的通配符行为奇怪
Get-Command s*rvice
给像Set-Service
,Start-Service
等安打而不是命令,如New-Service
,Restart-Service
等
我刚开始学习PS。有人可以解释我下面的例子(它的原因如果可能的话):字符串内的通配符行为奇怪
Get-Command s*rvice
给像Set-Service
,Start-Service
等安打而不是命令,如New-Service
,Restart-Service
等
你”重新想象*
表示单个字符,但它可以匹配任意数量的字符。 s[e]rvice
和s[eeeeee]rvice
和s[tart-se]rvice
您正在阅读s*rvice
将完全匹配您键入的文本,并改变只有在通配符。但你期望它匹配New-Service
,就好像它在开始和结束处有通配符,如*s*rvice*
- 但它不会,它只会匹配你输入的模式;开始必须以s开头,结束必须以e结尾。
谢谢,我想我已经在脑海里分裂了结果。 :) Ansgar也谢谢你,朋友。 – gosko
这是因为's * rvice'匹配以's'开头并以'rvice'结尾的cmdlet名称。 'New-Service'和'Restart-Service'都不以's'开头。您可能需要'Get-Command * service'或'Get-CommandNoun * s * rvice'。 –