要将Ansible命令存储在变量中并在不同的主机上使用,可以使用Ansible的command模块和register关键字来实现。
以下是一个示例代码:
---
- name: Run command on multiple hosts
hosts: all
gather_facts: false
vars:
my_command: "echo Hello, World!"
tasks:
- name: Run command
command: "{{ my_command }}"
register: command_output
- name: Print command output
debug:
var: command_output.stdout
在上面的示例中,我们定义了一个名为my_command的变量,并将其设置为要执行的命令。然后,我们使用command模块执行该命令,并将输出存储在command_output变量中。最后,我们使用debug模块打印命令输出。
要在不同的主机上运行相同的命令,可以将hosts字段设置为要运行命令的主机组。
请注意,gather_facts字段被设置为false,以便在运行命令时跳过收集主机信息的步骤。
希望这个示例能够帮助你解决问题!