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()항목을 하나로 묶어야 합니다.

둘째, 파일에 쓰려면 다음을 사용하십시오.복사 모듈.

마지막 작업을 다음으로 바꿉니다.

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

답변2

echo를 사용하여 Python 스타일 목록을 얻을 수 있습니다. 값만 필요한 경우 with_items요소를 사용하고 반복하십시오 echo.

관련 정보