使用“when”语句和“hostvars”动态变量。
具体代码示例:
- hosts: server1, server2
tasks:
- shell: echo "yes"
register: result
- debug: var=result.stdout
when: hostvars['server1']['result']['stdout'] != hostvars['server2']['result']['stdout']
在这个示例中,我们使用了“shell”模块yes”字符串保存在名为“result”的Ansible注册表变量中。然后,我们使用“debug”模块来显示该变量的“stdout”键。但是,在“when”语句块中,我们使用“hostvars”动态变量来比较两个记录在不同服务器的注册表变量中的“stdout”值。如果值不相同,则条件为真,并且显示结果。