我的 jinja2 模板中的一行需要返回
STACKNAME=\"",{"Ref":"AWS::StackName"},"\"
将上述内容放入模板返回
STACKNAME=\\\"\",{\"Ref\":\"AWS::StackName\"},\"\\\"
我尝试创建一个变量
DQ = '"'
并将模板设置为
STACKNAME="{{DQ}},{{{DQ}}Ref{{DQ}}:{{DQ}}AWS::StackName{{DQ}}},{{DQ}}"
但结果仍然在 {{DQ}} 变量前面放置一个反斜杠
我还尝试输入一个唯一的字符串 %%%DQ%%% ,然后获取结果,然后进行字符串替换,但它仍然给了我反斜杠。
如何获得我想要的结果?
更新:我很抱歉。事实证明,返回转义引号的不是 jinja2 模板。我稍后在脚本中调用:
lc.UserData=Base64(Join("", [commandList]))
正是对 Base64 和/或 Join 的对流层模块的调用导致了问题并插入了转义。
进一步测试明确表明,是 Base64 进行了转义。