首页 > 解决方案 > PowerShell,帮助函数的语法

问题描述

help探索和get-help我之间的区别:

  1. cd Function:
  2. get-content help
  3. 所有输入参数的定义如下: [string]${Name}

$=初始化一个变量,{}一个哈希表??

谢谢你的帮助。

标签: powershellvariablessyntax

解决方案


有关官方文档,请参阅概念about_Variables帮助主题(使用 调用它help about_Variables),尤其是其“包含特殊字符的变量名称”部分

将变量的名称包含在{...}- 例如${foo}- 中明确界定了变量名称( foo)。

虽然您可以将此表示法与任何变量引用一起使用,但在以下情况下要这样做:

  • 如果名称包含不寻常的字符,例如-.(请参阅链接的帮助主题以获取确切的允许字符集);例如:

    • ${foo-bar}
    • ${foo.bar}
  • 如果变量引用嵌入可扩展字符串( "...")中,您可能需要告诉 PowerShell 变量名称在哪里结束,否则紧随其后的字符将被解释为变量名称的一部分;例如:

    • "${foo}: bar"- 如果没有{...},PowerShell 将解释$foo:为(不完整的)变量名,这会失败,因为然后在命名空间变量表示法的上下文中foo被解释为 PS驱动器的名称。

      • 注意:在这种情况下,另一种方法是`-escape:字符:"$foo`: bar"
    • "A ${foo}l and his money ..."- 如果没有{...},PowerShell 会寻找变量$fool

虽然在您的示例 ( ${Name}) 中包含 in{...}不是必需的,使用它的原因是代码是作为包装cmdlet 的代理函数自动生成的,并且这种生成机制有条不紊地将所有变量包含在.Get-Help{...}


推荐阅读