要将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
,以便在运行命令时跳过收集主机信息的步骤。
希望这个示例能够帮助你解决问题!