当前位置: 首页 > 知识库问答 >
问题:

在可操作手册中仅显示 yum 列表中的某些字典值

西门磊
2023-03-14

我创建了一个剧本,使用“yum”ansi ble模块检查一个包是否安装在基于RHEL的服务器上,然后显示结果。

我的任务如下:

roles/Linux/yum check/tasks/main . yml

- name: Check for installed packages
  yum: list={{ item.package }} 

  with_items:
  - { package: 'package1' }
  - { package: 'package2' }
  - { package: 'package3' }

  register: yumlist 
- debug: var=yumlist

剧本以以下格式正确输出结果:;

    "results": [
        {
            "_ansible_item_result": true, 
            "_ansible_no_log": false, 
            "changed": false, 
            "invocation": {
                "module_args": {
                    "conf_file": null, 
                    "disable_gpg_check": false, 
                    "disablerepo": null, 
                    "enablerepo": null, 
                    "exclude": null, 
                    "install_repoquery": true, 
                    "list": "python", 
                    "name": null, 
                    "state": "installed", 
                    "update_cache": false, 
                    "validate_certs": true
                }, 
                "module_name": "yum"
            }, 
            "item": {
                "package": "python"
            }, 

yum列表模块还将显示“可用”包。当使用作为多个可用包的包名(如python)运行此playbook时,输出可能会变得非常长。我的目标是让playbook只输出某些字典值(我相信它们被称为字典值)。

如何设置结果的格式以仅显示“状态”(已安装或未安装)和软件包名称等持久性信息?

我试图以与使用括号或大括号显示主机事实相同的方式显示信息,例如{{results.state}},但Anable抱怨变量未定义。我在网上找不到类似的例子。我的目标是简单而干净地显示是否安装了包列表,而没有所有额外的臃肿信息。

谢了。

共有2个答案

卜弘文
2023-03-14

您可能能够使用映射过滤器来提取所需的变量,http://docs.ansible.com/ansible/playbooks_filters.html#extracting-来自容器的值

这里有一个使用它的例子,http://docs.ansible.com/ansible/ec2_vpc_subnet_facts_module.html

yum_list.results[0].invocation.module_args.state

应该给你状态的值。

祁均
2023-03-14

使用地图过滤器:

- debug: msg="{{ yum_list.results | map(attribute='invocation.module_args.state') | list }}"
 类似资料:
  • 我有这个对象显示在一个组合框中: 我想把这个列表显示到一个组合框中。 问题是如何将组的名称从对象显示到组合框中?

  • 本文向大家介绍从MySQL表的列中选择并仅显示一些行,包括了从MySQL表的列中选择并仅显示一些行的使用技巧和注意事项,需要的朋友参考一下 让我们首先创建一个表- 使用插入命令在表中插入一些记录- 使用select语句显示表中的所有记录- 这将产生以下输出- 这是用于选择和仅显示一些行的查询- 这将产生以下输出-

  • 我正试图从java写到Excel。 苏珊067643 但是,当前代码会覆盖该名称。结果,excel文件如下所示 有人愿意帮我吗?任何输入都将不胜感激!

  • 我有一个web应用程序,前端有一个引导表,它的数据由Django rest框架呈现。由于数据是使用数据字段呈现的,所以它只有表头,没有表列。 我想使某些列可编辑,但有些列不可编辑,但无法编辑。contenteditable='true'/'false'标志在列级别不起作用。如何使某些列可编辑,但某些列不可编辑

  • 问题内容: 我有一个dict包含大量条目的条目。我只对其中几个感兴趣。有没有一种简单的方法可以将其他所有元素都修剪掉? 问题答案: 构建一个新的字典: 使用字典理解。 如果使用缺少它们的版本(例如,Python 2.6和更早版本),请使其成为。一样,尽管丑陋。 请注意,这与jnnnnn的版本不同,对于任何大小的,都具有稳定的性能(仅取决于your_keys的数量)。在速度和内存方面。由于这是一个生

  • 本文向大家介绍浅谈python中列表、字符串、字典的常用操作,包括了浅谈python中列表、字符串、字典的常用操作的使用技巧和注意事项,需要的朋友参考一下 列表操作如此下: a = ["haha","xixi","baba"] 增:a.append[gg] a.insert[1,gg] 在下标为1的地方,新增 gg 删:a.remove(haha) 删除列表中从左往右,第一个匹配到的 haha d