在PowerShell窗口:为什么PowerShell会拆分包含连字符和句点的参数?
PS C:\> echo -abc.def.ghi
-abc
.def.ghi
出于某种原因,连字符和周期原因Powershell的组合的参数分成两行。
它不与不带连字符出现:
PS C:\> echo abc.def.ghi
abc.def.ghi
它也没有发生时,有没有期限:
PS C:\> echo -abcdefghi
-abcdefghi
通过实验,我发现我可以逃避的行为与反引号:
PS C:\> echo `-abc.def.ghi
-abc.def.ghi
但为什么母鹿这发生了什么?我不理解PowerShell语法的基本部分?
嗯,有趣。我注意到'echo“-abc。def“'按预期工作,这可能是一个提示 – 2015-02-24 19:47:02
假设你使用PowerShell V3 +,你可以使用这个'{echo -abc.def.ghi} .Ast.EndBlock.Statements [0] .PipelineElements [0] .CommandElements ''看,这是怎么解析器的。 – PetSerAl 2015-02-24 20:23:46