2017-10-26 1 views
-1
ANSIBLE LOOPS 
============= 

결과를 텍스트 파일에 쓰는 데 필요한 다음 작업이 있습니다. Reg는 "목록 목록"을 산출합니다. 나는 Jinja2 템플리트 루프 스타일을 사용하여 원하는 것을 얻을 수있을뿐입니다. "with_list :"명령이나 다른 기술을 사용하여 이것을 수행하는 또 다른 '우아한'방법이 있습니까?목록 목록을 단순화하고 파일에 쓰는 방법 - IOS/Nexus (nxos)

- name: Show Commands 
    nxos_command: 
    provider: "{{ provider }}" 
    commands: 
     - show version | include bin 
     - show ip int brief 
     - show ip route 
     - show run | include logging 
     - show snmp host 

    register: reg 
- debug: var=reg.stdout_lines 


- copy: 
    content: | 
     {% for line in reg.stdout %} 
     {{ line }} 

     {% endfor %} 
    dest: ./{{ CRQ }}/{{ inventory_hostname }}_post_{{ CRQ }}.txt 

답변

0

당신은 문자열로 변환 join를 사용할 수 있습니다 네트워크 모듈,

- copy: 
    content: '{{ reg.stdout | join("\n") }}' 
    dest: ./{{ CRQ }}/{{ inventory_hostname }}_post_{{ CRQ }}.txt 
+0

'stdout' 및 네트워크 모듈 (command''같은) 표준 모듈 다르게'stdout_lines' 일'표준 출력 '는'stdout_lines'와 같은 줄의 목록이고'stdout_lines'는 목록의 목록입니다. –

+0

그건 완벽한 콘스탄틴이야. 일 잘한다. 각 명령이 실행 된 후에도 새로운 행을 추가하고 싶습니다. 그럴 수도 있습니다. – MIke

+0

'join ("\ n \ n")'을 의미합니까? –

관련 문제