![Ansible에서 새 줄을 사용하여 변수 값을 파일에 저장하는 방법](https://linux55.com/image/11200/Ansible%EC%97%90%EC%84%9C%20%EC%83%88%20%EC%A4%84%EC%9D%84%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20%EB%B3%80%EC%88%98%20%EA%B0%92%EC%9D%84%20%ED%8C%8C%EC%9D%BC%EC%97%90%20%EC%A0%80%EC%9E%A5%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95.png)
변수값을 뉴라인 형식으로 파일에 저장하고 싶습니다.
- 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
.