Ansibleで新しい行を使用して変数値をファイルに保存する方法

Ansibleで新しい行を使用して変数値をファイルに保存する方法

変数値をニューライン形式でファイルに保存したいと思います。

- set_fact:
    linked_dirs:   "{{ linked_dirs.stdout_lines | select('search',nfs_server) | list }}"

- debug:  var=linked_dirs

- shell:  echo -e "{{ linked_dirs }}\n" >> /tmp/test
  delegate_to:  localhost

猫/tmp/テスト

[u'/net/rchserver01/data/share2 linked with /var/tmp/test2', u'/net/rchserver01/data/share2 linked with /var/tmp/share2', u'/net/rchserver01/data/share1 linked with /var/share1']

望ましい結果:cat /tmp/test

/net/rchserver01/data/share2 linked with /var/tmp/test2
/net/rchserver01/data/share2 linked with /var/tmp/share2
/net/rchserver01/data/share1 linked with /var/share1

ベストアンサー1

まず、リストがある場合は、join()項目を1つにまとめる必要があります。

次に、ファイルに書き込むには、次のようにします。コピーモジュール

最後のタスクを次に置き換えます。

- name: Write linked_dirs file
  copy:
    content: "{{ linked_dirs | join('\n') }}"
    dest: /tmp/test
  delegate_to: localhost

おすすめ記事