经过大量研究和挫折后,我并没有完全得到我所希望的输出。
例如,所需的输出到文件中
"accessKeyId":"UIIUHO]SOMEKEY[SHPIUIUHIU"
但我得到的是
accessKeyId:UIIUHO]SOMEKEY[SHPIUIUHIU
以下是 AWS Cloudformation 模板中的行
{"Fn::Join": ["", ["echo \" accessKeyId:", {"Ref": "AccessKeyId"}, "\" >> /home/ubuntu/myfile.json"] ] },
我尝试在 echo 语句中添加 \" with 但没有输出引号。有人可以展示如何生成上面所需的输出吗?
事实上这是一个正确转义引号的问题。
原因是:\"
CloudFormation 字符串内部转义为"
(双引号)。
例如,"hello \"me\""
给你 :
hello "me"
在你的行中,你真正向 bash 提供的是:
echo " accessKeyId:XXXXX" >> /home/ubuntu/myfile.json
考虑到 bash 使用引号,您会得到字符串
accessKeyId:XXXXX
在你的里面/home/ubuntu/myfile.json
为了解决您的问题,我建议使用:
{"Fn::Join": ["", ["echo '\"accessKeyId\":\"", {"Ref": "AccessKeyId"}, "\"' >> /home/ubuntu/myfile.json"] ] },
被转义为
echo '"accessKeyId":"XXXXX"' >> /home/ubuntu/myfile.json
(难以阅读:echo 使用的整个字符串都在单引号内)。
我现在无法尝试,但它应该可以解决问题。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)