formatting - 引用 YAML(对于 Travis CI)

标签 formatting escaping yaml travis-ci string-literals

如何在 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/

相关文章:

file - 为什么我应该使用人类可读的文件格式?

azure-devops - 如何通过部署作业定位 Azure YAML 管道中的环境?

c# 字符串格式化

python - 为什么Python在这里打印大括号?

html - 用 Java 中的 HTML 实体替换字符

javascript - 如何正确转义 querySelector() 字符

java - 匹配转义字符(引号)的正则表达式

Python:将多个 YAML 文档转换为 JSON

google-app-engine - 在 app.yaml 文件中混合静态和动态端点

formatting - Sublime Text 3 中的 80 个字符/右边距线