为了避免这种情况发生,你需要仔细检查 Ansible 命令或 playbooks 中的变量、插件和任务等。
例如,在这个 playbook 中,我们使用 Ansible 的 debug 模块,显示 hostname、IP 地址和操作系统版本。默认情况下,输出格式与 shell 中打印到终端的格式略有不同。我们可以通过设置格式化字符串来确保输出与预期结果相同。
- hosts: all
gather_facts: yes
tasks:
- name: "Print System Information"
debug:
msg: "{{ 'Hostname: %s, IP Address: %s, OS Version: %s' |
format(ansible_hostname, ansible_default_ipv4.address, ansible_distribution_version) }}"
注意,在这个例子中,我们设置调试消息的格式化字符串,以确保输出变量中的值。通过在格式化字符串中使用 %s 占位符,我们可以将变量插入输出中的正确位置。
如果仍然有任何差异,请尝试调整 plug-ins 或使用 Ansible 的其他可用选项进行调试。