【问题标题】:Powershell issue getting variable inside quotePowershell问题在引号内获取变量
【发布时间】:2021-02-12 21:47:00
【问题描述】:

这可能是一个菜鸟问题,但我如何将变量放入引号中

Write-host 
$string1 = Read-Host

Write-host $string1

如果我输入 abc 进行写入,它将显示 abc。

如何让它显示“abc”

执行 "$string1" 只会显示为 "$string" 而不是引号中的值

【问题讨论】:

    标签: powershell powershell-2.0


    【解决方案1】:

    "$string1" 中封闭的" 字符具有句法 功能,因此在解析过程中被剥离

    要使这些字符成为数据的一部分,您必须嵌入它们的转义版本 (`"):

    PS> "`"$string1`"" # assume that $string1 contains verbatim: foo
    "foo"
    

    ` 是 PowerShell 的通用转义字符;在 "..." 字符串 (expandable strings) 的上下文中,您可以交替使用 `"""

    另外请注意,上面的命令依赖于 PowerShell 的 隐式输出功能 - 不需要 Write-Host,除非您明确想要写入 仅显示,而不需要 PowerShell丰富的输出格式 - 有关详细信息,请参阅 this answer

    【讨论】:

      猜你喜欢
      • 2010-11-01
      • 1970-01-01
      • 2021-11-18
      • 1970-01-01
      • 2022-10-17
      • 1970-01-01
      • 2018-09-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多