【问题标题】:What is an expandable string in PowerShell什么是 PowerShell 中的可扩展字符串
【发布时间】:2021-03-22 23:56:41
【问题描述】:

在 PowerShell 的 documentation 中,我遇到了表达式可扩展字符串

参数模式设计用于在 shell 环境中解析命令的参数和参数。所有输入都被视为可扩展字符串,除非它使用以下语法之一:

很遗憾,我找不到可扩展字符串的定义,我的问题是:PowerShell 中的可扩展字符串是什么?

【问题讨论】:

  • How to expand variable in powershell? 的答案是否为您的目的解释?
  • @AndrewMorton:是的,他们回答了我的问题。
  • 您可能还想研究以下函数:$ExecutionContext.InvokeCommand.ExpandString

标签: powershell grammar string-interpolation


【解决方案1】:

很遗憾,在撰写本文时,有关 PowerShell 字符串文字的官方帮助主题 about_Quoting_Rules 没有引入术语可扩展字符串 [更新 : 网络版现在可以了;要在本地查看更新,您可能需要运行 Update-Help]。

可扩展字符串是:

  • 双引号-引用字符串文字 ("...")

    • 相比之下,单引号字符串 ('...') 是逐字(文字)字符串。
    • 有关所有类型的 PowerShell 字符串文字的概述,包括 here-string 变体(例如,@"<newline>...<newline>"@),请参阅this answer 的底部部分。
  • 双引号字符串执行字符串插值(扩展)

    • 这允许您按原样嵌入简单的变量引用(例如,"$var"),以及通过$()(例如,"$($var.property)")的表达式和整个语句。转义 逐字 $(和 ")字符。与`。将变量名称括在{...} 中以消除歧义(例如"${var}")。
    • 有关完整规则,请参阅this answer

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多