如何在 YAML 中转义整行?我想要 json='{"title": "travis_saulshanabrook_site","key": "'$(cat ~/.ssh/id_rsa.pub)'"}'
在列表中,但我无法将其解析为字符串。我可以在整行周围加上单引号,但是我必须转义字符串中的每个单引号,这使得它很难阅读。该字符串将在 Travis CI 中作为 bash 命令运行。
最佳答案
最优雅的解决方案是使用 literal style |
指示符,使用 -
修饰符去除最后的换行符。这样就不需要额外的引号。
如果这个标量恰好是 YAML 文件中的唯一内容,请使用:
|-
json='{"title": "travis_saulshanabrook_site","key": "'$(cat ~/.ssh/id_rsa.pub)'"}'
如果是键abc
的映射值:
abc: |-
json='{"title": "travis_saulshanabrook_site","key": "'$(cat ~/.ssh/id_rsa.pub)'"}'
或者如果它是列表的一部分:
- |-
json='{"title": "travis_saulshanabrook_site","key": "'$(cat ~/.ssh/id_rsa.pub)'"}'
关于formatting - 引用 YAML(对于 Travis CI),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10572689/