引用YAML(特拉维斯CI)

sau*_*ook 11 formatting yaml escaping string-literals travis-ci

我如何在YAML中逃脱整条线?我想要json='{"title": "travis_saulshanabrook_site","key": "'$(cat ~/.ssh/id_rsa.pub)'"}' 在列表中,但我不能让它解析成一个字符串.我可以在整行上放置单引号,但是我必须在我的字符串中删除每一个引号,这使得它很难阅读.该字符串将作为Travis CI中的bash命令运行

Ant*_*hon 11

最优雅的解决方案是使用文字样式 |指示符,使用-修饰符去除最终换行符.这样就没有必要的额外报价了.

如果这个标量碰巧是YAML文件中唯一的用法:

|-
  json='{"title": "travis_saulshanabrook_site","key": "'$(cat ~/.ssh/id_rsa.pub)'"}'
Run Code Online (Sandbox Code Playgroud)

如果它是key的映射值abc:

abc: |-
  json='{"title": "travis_saulshanabrook_site","key": "'$(cat ~/.ssh/id_rsa.pub)'"}'
Run Code Online (Sandbox Code Playgroud)

或者如果它是列表的一部分:

- |-
  json='{"title": "travis_saulshanabrook_site","key": "'$(cat ~/.ssh/id_rsa.pub)'"}'
Run Code Online (Sandbox Code Playgroud)