只有第一个命令的输出才会写入文件。
如何让它将所有命令的输出写入文件?
---
- name: run show commands
hosts: nexus1
gather_facts: False
tasks:
- name: run show commands on nexus
nxos_command:
commands:
- show hostname
- show ip route
- show interface
- show ip interface vrf all
- show hsrp
register: output
- name: Copy to server
copy:
content: "{{ output.stdout[0] }}"
dest: "/home/CiscoOutPut/{{ inventory_hostname }}.txt"
您只是要求第一个命令的输出。 output.stdout
是一个列表,每个命令的输出有一项。当请求 output.stdout[0]
时,您仅请求第一个结果。
如果您想将所有命令的输出写入文件,则类似于:
- name: Copy to server
copy:
content: "{{ '\n'.join(output.stdout) }}"
dest: "/home/CiscoOutPut/{{ inventory_hostname }}.txt"
我是一名优秀的程序员,十分优秀!