我有以下包含其他变量的变量:
$jsontemplate = @"
{
"jsonrpc": "2.0",
"method": "trigger.update",
"params": {
"triggerid": "$($zabbixtriggerid)",
"status": 1
},
"id": "$($zabbixAuth.id)",
"auth": "$($zabbixAuth.auth)"
}
"@
Run Code Online (Sandbox Code Playgroud)
如果我手动运行脚本, $($xxx.yyy) 格式工作正常,但我无法使用它,因为运行脚本的程序使用 $() 格式的标记将字符串插入到 powershell 脚本中,并且会变得疯狂。还有其他方法可以达到同样的效果吗?当我仅使用 $xxx.yyy 格式时,.yyy 部分会被忽略。仅当我使用 $() 格式时它才会被解释。
您可以使用格式字符串来传递值:
$jsontemplate = @"
{{
"jsonrpc": "2.0",
"method": "trigger.update",
"params": {{
"triggerid": "{0}",
"status": 1
}},
"id": "{1}",
"auth": "{2}"
}}
"@ -f $zabbixtriggerid, $zabbixAuth.id, $zabbixAuth.auth
Run Code Online (Sandbox Code Playgroud)
查看最后一行,我使用三个变量格式化字符串。
| 归档时间: |
|
| 查看次数: |
1761 次 |
| 最近记录: |