ansible - Ansible“如何遍历列表”以创建新列表
问题描述
我正在尝试创建一个简单的剧本任务,遍历多个 dict 项目(v1)并创建一个新的列表变量(list_var),其中包含特定项目,但它不起作用 list_var 只显示一个元素,任何人都可以建议什么我失踪了吗?如果我这样做:
set_fact:
list_var: "{{ v1.stdout }}"
with_items: "{{ v1.items }}"
v1 中的值由简单的 shell 输出返回,并且具有来自不同主机的值,例如主机名
解决方案
可能有什么列出这个?
- command: echo "{{ item }}"
register: v1
with_sequence: start=0 end=3
- set_fact:
list_var: "{{ list_var|default([]) }} + [ {{ item }} ]"
loop: "{{ v1.results | json_query('[].stdout') }}"
- debug: var=list_var
哪个产生这个列表
TASK [debug] **********
ok: [localhost] => {
"list_var": [
0,
1,
2,
3
]
}
推荐阅读
- c# - 如何手动禁用/启用 mrtk v2 空间感知设置
- java - addValueEventListener 后 ArrayList 变为 null
- r - R中需要print()函数
- python - Django-Rest-Framework 端点未访问我的数据库集合
- pandas - Groupby by sort 基于日期时间,groupby 序列基于 'ID' 和 Date 然后按序列表示
- android - Context.getSystemService(java.lang.String) null
- ubuntu - 使用 Nagios Core 监控 unix 进程
- php - 为什么要检查prepare的返回值?
- python - 有没有一种方法可以将一个点与前一个点连接起来?
- ruby-on-rails - 通过 Internet Explorer 访问 MAC 中的本地托管服务器