我如何在 YAML 中转义整行?我想有json='{"title": "travis_saulshanabrook_site","key": "'$(cat ~/.ssh/id_rsa.pub)'"}'
一个列表,但我不能让它解析成一个字符串。我可以在整行周围加上单引号,但是我必须转义字符串中的每个单引号,这使得它很难阅读。该字符串将在Travis CI中作为 bash 命令运行
问问题
2009 次
2 回答
11
最优雅的解决方案是使用文字样式 |
指示符,使用-
修饰符去除最后的换行符。这样就不需要额外的引号。
如果这个标量恰好是 YAML 文件中的唯一内容,请使用:
|-
json='{"title": "travis_saulshanabrook_site","key": "'$(cat ~/.ssh/id_rsa.pub)'"}'
如果它是 key 的映射值abc
:
abc: |-
json='{"title": "travis_saulshanabrook_site","key": "'$(cat ~/.ssh/id_rsa.pub)'"}'
或者如果它是列表的一部分:
- |-
json='{"title": "travis_saulshanabrook_site","key": "'$(cat ~/.ssh/id_rsa.pub)'"}'
于 2015-06-30T06:42:24.810 回答
0
我不确定是否有一种解决方案可以使该字符串转义并使其易于阅读。
仅供参考,这就是该字符串看起来像已转义的内容:
script: ! 'your_cmd json=''{"title": "travis_saulshanabrook_site","key": "''$(cat ~/.ssh/id_rsa.pub)''"}'''
于 2012-10-22T13:27:25.343 回答