Verwenden von Tabs innerhalb von Blöcken für das Ansible Blockinfile-Modul

Verwenden von Tabs innerhalb von Blöcken für das Ansible Blockinfile-Modul

Ich möchte mit Ansible einen Text mit Tabulator als Trennzeichen ausgeben

hier ist der Aufgabenausschnitt

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

AKTUELLER OUTPUT

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

GEWÜNSCHT

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

Antwort1

Die YAML-Blöcke behalten TAB bei. Sie müssen einen Editor verwenden, der TAB nicht durch Leerzeichen ersetzt. Ich habeviim folgenden Beispiel. Der Wert vonstr2sind Leerzeichen, die mit '0' abgeschlossen werden. Der Wert vonstr3sind 2 TAB(s), die mit '0' geschlossen sind (durch Kopieren und Einfügen wurden die TAB(s) natürlich entfernt).

- 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 }}

gibt gekürzt

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

verwandte Informationen