如何使用转义的双qoutes在powershell字符串中传递变量

时间:2017-12-21 03:52:20

标签: powershell

我是PowerShell的新手,我需要在这个字符串中传递我的变量,但我认为因为我正在逃避双引号,所以它没有传递我的变量值。

$A = 'test@email.com'
$B ='{
  \"merchant_info\": {
  \"email\": \" $A \",
  }'
write-host $B

2 个答案:

答案 0 :(得分:4)

通过执行`"

来逃避Powershell中的双引号

因此,要使代码正常工作,请将其更改为以下内容:

$A = 'test@email.com'
$B ="{`"merchant_info`": {`"email`":  `"$A`",}"
write-host $B

答案 1 :(得分:2)

除了转义字符`之外,您还可以使用以下任一选项。

使用 Here-Strings

$B =
@"
{
    "merchant_info": {
        "email": "$A"
    }
}
"@

使用 ConvertTo-Json

$B = @{"merchant_info" = @{"email" = $A} } | ConvertTo-Json

使用两个"

$B = "{""merchant_info"": {""email"": ""$A"" } }"