小编Rus*_*ley的帖子

yaml多行语法,没有换行符的换行符

我有这样的字典:

env: qat
target_host: >
         {%if env in ['prd'] %}one
         {%elif env in ['qat','stg'] %}two
         {%else%}three
         {%endif%}
Run Code Online (Sandbox Code Playgroud)

当我打印它时,我得到:

ok:[localhost] => {"var":{"target_host":"two"}}

所以它将行末尾的\n转换为空格.这正是应该做的.但是在这种情况下,我只是试图分散线条以使if/else的结构更具可读性,而且我不想要额外的空间.如果我把它全部放在没有>的一行上,它可以正常工作但我希望能够使它成为多行,这样它更容易阅读.

我发现这个问题 有没有办法表示一个长字符串,在YAML文档中的多行上没有任何空格?

所以我能做到:

env: qat
target_host: "{%if env in ['prd'] %}one\
              {%elif env in ['qat','stg'] %}two\
              {%else%}three\
              {%endif%}"
Run Code Online (Sandbox Code Playgroud)

这给出了理想的结果.

无论如何要实现这一目标而不是更加混乱吗?

ansible

4
推荐指数
2
解决办法
9933
查看次数

标签 统计

ansible ×1