использование вкладок внутри блока для модуля ansible blockinfile

использование вкладок внутри блока для модуля ansible blockinfile

Я хочу вывести текст с табуляцией в качестве разделителя, используя ansible

вот фрагмент задания

- name: Create output file
  blockinfile:
    block: |
      Some text\tmore text
    path: '{{ playbook_dir }}/output.txt'
    create: true

ТЕКУЩИЙ ВЫХОД

# BEGIN ANSIBLE MANAGED BLOCK
Some text\tmore text
# END ANSIBLE MANAGED BLOCK

ЖЕЛАННЫЙ

# BEGIN ANSIBLE MANAGED BLOCK
Some text   more text
# END ANSIBLE MANAGED BLOCK

решение1

Блоки YAML сохраняют TAB. Вам нужно использовать редактор, который не заменяет TAB пробелами. Я использовалвив примере ниже. Значениестр2пробелы закрыты знаком '0'. Значениестр32 вкладки закрыты знаком «0» (копирую и вставляю, вкладки, конечно, удалены).

- hosts: localhost

  vars:

    str1: |
      01234567890
    str2: |
      0         0
    str3: |
      0         0

  tasks:

    - debug:
        msg:
          str1 {{ str1|length }} {{ str1 }}
          str2 {{ str2|length }} {{ str2 }}
          str3 {{ str3|length }} {{ str3 }}

дает сокращенный

  msg: |-
    str1 12 01234567890
    str2 12 0         0
    str3 5 0               0

Связанный контент