如何在Ansible的debug任务中显示hostvars变量的前5行?
如何在Ansible debug任务中只显示hostvars前5行内容
要让debug任务只输出hostvars变量的前5项内容,你可以借助Ansible的过滤器对字典进行转换和切片处理,修改后的任务代码如下:
- name: "显示Ansible hostvars变量前5行" debug: msg: "{{ hostvars | dict2items | list[:5] }}"
代码说明:
dict2items过滤器:将hostvars这个字典类型的变量转换成由键值对组成的列表,每个列表元素的结构为{key: "变量名", value: "变量值"}list[:5]切片操作:对转换后的列表进行截取,只保留前5个元素- 如果你希望输出结果仍保持字典格式,可以追加
items2dict过滤器:msg: "{{ hostvars | dict2items | list[:5] | items2dict }}"
内容的提问来源于stack exchange,提问作者CH06
相关产品推荐
相关产品推荐

