【发布时间】:2021-02-12 21:47:00
【问题描述】:
这可能是一个菜鸟问题,但我如何将变量放入引号中
Write-host
$string1 = Read-Host
Write-host $string1
如果我输入 abc 进行写入,它将显示 abc。
如何让它显示“abc”
执行 "$string1" 只会显示为 "$string" 而不是引号中的值
【问题讨论】:
这可能是一个菜鸟问题,但我如何将变量放入引号中
Write-host
$string1 = Read-Host
Write-host $string1
如果我输入 abc 进行写入,它将显示 abc。
如何让它显示“abc”
执行 "$string1" 只会显示为 "$string" 而不是引号中的值
【问题讨论】:
"$string1" 中封闭的" 字符具有句法 功能,因此在解析过程中被剥离。
要使这些字符成为数据的一部分,您必须嵌入它们的转义版本 (`"):
PS> "`"$string1`"" # assume that $string1 contains verbatim: foo
"foo"
` 是 PowerShell 的通用转义字符;在 "..." 字符串 (expandable strings) 的上下文中,您可以交替使用 `" 和 ""。
另外请注意,上面的命令依赖于 PowerShell 的 隐式输出功能 - 不需要 Write-Host,除非您明确想要写入 仅显示,而不需要 PowerShell丰富的输出格式 - 有关详细信息,请参阅 this answer。
【讨论】: