PowerShell单引号Here-String转义及变量解析问题求助
PowerShell单引号Here-String单引号转义问题解决
正确转义写法
单引号Here-String中,两个连续单引号会被解析为一个输出单引号,但必须严格遵守语法规则:
# 正确示例 $testStr = @' This is a string with a single quote: It''s working. '@ Write-Output $testStr
执行后输出:This is a string with a single quote: It's working.
关键语法注意事项
- 起始标记
@'和结束标记'@必须单独占一行,且结束标记不能有任何前置空格(这是转义失效或报错的常见原因)。
错误示例:# 结束标记前有空格,会导致语法错误或转义失效 $testStr = @' It''s a test. '@ - 单引号Here-String内的所有字符(包括
$变量)都会原样输出,无需额外转义变量,仅需处理单引号。
替代方案
如果单引号Here-String的转义仍有异常,可改用双引号Here-String并转义$符号,单引号可直接写入:
$testStr = @" It's a string with an unparsed variable: `$var "@ Write-Output $testStr
执行后输出:It's a string with an unparsed variable: $var
内容的提问来源于stack exchange,提问作者apython
相关产品推荐
相关产品推荐

