Lui*_*Lui 3 amazon-web-services aws-cloudformation
经过大量的研究和挫折,我并没有得到我希望的输出.
例如,期望输出到文件中
"accessKeyId":"UIIUHO]SOMEKEY[SHPIUIUHIU"
Run Code Online (Sandbox Code Playgroud)
但我得到的是
accessKeyId:UIIUHO]SOMEKEY[SHPIUIUHIU
Run Code Online (Sandbox Code Playgroud)
以下是AWS Cloudformation模板中的行
{"Fn::Join": ["", ["echo \" accessKeyId:", {"Ref": "AccessKeyId"}, "\" >> /home/ubuntu/myfile.json"] ] },
Run Code Online (Sandbox Code Playgroud)
我已经尝试在echo语句中添加\"但是没有输出引号.有人能说明如何在上面生成所需的输出吗?
这是一个正确逃避报价的问题.
原因是:\"CloudFormation字符串内部被转义为"(双引号).
例如,"hello \"me\""给你:
hello "me"
Run Code Online (Sandbox Code Playgroud)
在你的行中,你真正为bash提供的是:
echo " accessKeyId:XXXXX" >> /home/ubuntu/myfile.json
Run Code Online (Sandbox Code Playgroud)
考虑bash使用引号,你得到字符串
accessKeyId:XXXXX
Run Code Online (Sandbox Code Playgroud)
你的内心 /home/ubuntu/myfile.json
为了解决您的问题,我建议使用:
{"Fn::Join": ["", ["echo '\"accessKeyId\":\"", {"Ref": "AccessKeyId"}, "\"' >> /home/ubuntu/myfile.json"] ] },
Run Code Online (Sandbox Code Playgroud)
这是逃脱的
echo '"accessKeyId":"XXXXX"' >> /home/ubuntu/myfile.json
Run Code Online (Sandbox Code Playgroud)
(很难读:echo使用的整个字符串都在单引号内).
我现在无法尝试,但它应该做到这一点.
| 归档时间: |
|
| 查看次数: |
10539 次 |
| 最近记录: |