formatting - 引用 YAML(对于 Travis CI)

如何在 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)'"}'

https://stackoverflow.com/questions/10572689/

相关文章:

java - java.util.Formattable 上的示例是否不正确?

c - 如何将 "unbreak"C 代码与 "Artistic Style"

python - Gtk3 TextBuffer.serialize() 返回带有格式标签的文本,即

.net - 如何在格式字符串中指定自定义千位分隔符

c++ - Eclipse CDT 中的格式(换行)构造函数初始化程序列表

javascript - Bootstrap datepicker 显示的日期格式与值的格式不同

javascript - Visual Studio 2010 坚持在 JavaScript 中插入

html - 不熟悉的 Javascript 语法/hack

)"修改代码样式">java - groovy intelliJ "angle brackets (<>)"修改代码样式

.net - 为什么 DateTime.ToShortTimeString() 不尊重 "Regio