我在我的terraform v0.9.11模板中使用了remote-exec提供程序,如下所示:
...
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"
]
...
但我在illegal char escape
时收到-Pattern '""'
错误。
我想在远程计算机上执行的命令是:"... FileString.ps1 -Pattern '""' -Replacement '"xyz"' "
PS:使用\ {
"... FileString.ps1 -Pattern '\"\"' -Replacement '\"xyz\"' "
进行转义也不起作用。
...
代表此处省略的无关文字。
答案 0 :(得分:1)
事实证明,当指向-Pattern '""'
时,错误消息会产生误导,因为实际错误转变为模板中另一个位置,即Windows文件路径中的反斜杠未正确转义(即{{1}应该是C:\filename
错误消息需要指向正确的错误位置!