带有前导空格的多行字符串

zer*_*kms 5 ansible ansible-playbook

如何指定在某些行上具有前导空格的多行字符串?

如果我将变量定义为

multiline_str: |
    foo
      bar
        baz
Run Code Online (Sandbox Code Playgroud)

然后使用将其写入文件

- name: write multiline string
  copy: content="{{ multiline_str }}" dest="/path/to/file"
Run Code Online (Sandbox Code Playgroud)

然后目标文件内容是

foo
bar
baz
Run Code Online (Sandbox Code Playgroud)

这里的诀窍是什么?

yae*_*shi 11

试试这个.

- name: write multiline string
  copy:
    content: "{{ multiline_str }}"
    dest: /path/to/file
Run Code Online (Sandbox Code Playgroud)

  • 我不确定,但是你经常会遇到Ansible在单个字符串中解析引用的key =值的问题,你可以通过将params作为YAML集合传递来避免它.感谢您提供一个简洁的示例来鼓励这种写作任务.您还可以在此主题上看到[过去的讨论](https://groups.google.com/d/msg/ansible-project/GfJBkzuTTNM/iUkzUKPmBnAJ). (2认同)