有这样一个剧本:
---
- hosts: [localhost]
remote_user: "max"
become: no
tasks:
- name: check packages
package_facts:
manager: auto
- name: print
debug:
msg: "{{ ansible_facts.packages['vim'][0]['name'] }} is {{ ansible_facts.packages['vim'][0]['version'] }}"
输出:
TASK [print] ****************************************************************************************************************************************************************
ok: [localhost] =>
msg: vim is 2:8.2.3995-1ubuntu2.17
我怎样才能让它迭代我指定的包名称列表,而不仅仅是 vim?
您可以在变量中列出您的包。然后迭代它。
主机:[本地主机] 远程用户:“最大” 变成: 没有 变量: 套餐: -维姆 - 阿帕奇2 - python3
任务:
名称:检查包裹 包事实: 经理:汽车
name:打印包裹信息 调试: 消息:“{{ item.name }} 是 {{ item.version }}” 循环:“{{ ansible_facts.packages | dict2items | selectattr('value.name', 'in', packages) | map(attribute='value') | list }}”