在使用Ansible进行自动化管理时,执行命令是一个常见的操作。当我们使用Ansible执行一条命令时,通常会希望能够看到命令执行的结果,以确保任务的正确性和完成情况。Ansible在执行命令时提供了一些选项来显示命令执行的结果,以便我们进行验证和调试。

一种常见的方法是通过在命令行上加上-v选项来显示命令执行的详细输出。例如,我们可以使用以下命令来执行一个简单的shell命令,并显示执行结果:

```
ansible all -m shell -a 'ls -l' -i inventory -v
```

在这个命令中,-v选项表示“verbose”,意为详细输出。执行这个命令后,我们会看到Ansible输出了执行命令的详细过程,包括连接目标主机、执行命令、返回结果等信息。这样一来,我们可以清楚地了解命令的执行过程和结果,方便我们进行问题定位和调试。

除了-v选项外,Ansible还提供了另外一种更简洁的方式来显示命令执行结果,即使用register模块将结果保存到一个变量中,然后再打印出来。例如,我们可以使用以下命令来获取主机的主机名,并显示输出:

```
- name: Get hostname
hosts: all
tasks:
- name: Get hostname command
shell: hostname
register: result

- debug:
var: result.stdout
```

在这个示例中,我们使用register模块将执行命令的结果保存到一个名为result的变量中,并使用debug模块来打印出result的stdout属性,即命令的输出结果。这样一来,我们可以通过查看变量result的内容来了解命令的执行结果。

总的来说,Ansible提供了多种方式来显示命令执行的结果,包括-v选项和register模块。通过这些方法,我们可以清晰地了解Ansible执行命令的过程和结果,方便我们进行任务管理和调试。希望大家在使用Ansible时能够灵活运用这些方法,更高效地完成自动化管理任务。