我有以下包含其他变量的变量:
$jsontemplate = @"
{
"jsonrpc": "2.0",
"method": "trigger.update",
"params": {
"triggerid": "$($zabbixtriggerid)",
"status": 1
},
"id": "$($zabbixAuth.id)",
"auth": "$($zabbixAuth.auth)"
}
"@
$($ xxx.yyy)格式如果我手动运行脚本但我无法使用它,因为运行该脚本的程序使用$()格式的标记将字符串插入到PowerShell脚本中并且会发疯。任何其他方式达到同样的效果?当我只使用$ xxx.yyy格式时,.yyy部分会被忽略。只有在我使用$()格式时才能解释它。
答案 0 :(得分:4)
您可以使用格式字符串传递值:
$jsontemplate = @"
{{
"jsonrpc": "2.0",
"method": "trigger.update",
"params": {{
"triggerid": "{0}",
"status": 1
}},
"id": "{1}",
"auth": "{2}"
}}
"@ -f $zabbixtriggerid, $zabbixAuth.id, $zabbixAuth.auth
查看使用三个变量格式化字符串的最后一行。