1
我使用远程EXEC提供商在我terraform v0.9.11模板是这样的:如何逃避terraform中的双引号?
...
provisioner "remote-exec" {
inline = [
"Set-ExecutionPolicy Bypass -force",
"./C:\ProgramData\Amazon\EC2-Windows\Launch\Config\Replace-FileString.ps1 -Pattern '""' -Replacement '"${var.admin_password}"' -Path LauchConfig.json"
]
...
但我在-Pattern '""'
得到一个illegal char escape
错误。
我要在远程计算机上执行的命令是:"... FileString.ps1 -Pattern '""' -Replacement '"xyz"' "
PS:用\转义像
"... FileString.ps1 -Pattern '\"\"' -Replacement '\"xyz\"' "
也不起作用。
...
这里代表省略不相关的文字。
一切从我所看到的,它看起来像一个反斜杠应努力逃脱,当你尝试它实际上会发生什么 - 假设它是某种解析器错误?如果是这样,我想知道这是否是terraform和sho的回归uld被记录为新的错误。同时,你可以使用'script'选项而不是'inline'吗? –
@JamesThorpe当我使用了反斜杠时,我仍然得到'非法字符转义'..我会尝试'脚本',看看问题是否仍然存在 – Sami
只是看着那个 - 你可能需要使用['file'和'inline',因为你有参数传入](https://www.terraform.io/docs/provisioners/remote-exec.html#script-arguments)('admin_password') –