【发布时间】:2018-02-06 22:35:38
【问题描述】:
我想用 ansible 实现这样的目标
- debug:
msg: "{{ item }}"
with_items:
- "0"
- "1"
但是要从 range(2) 生成,而不是对迭代进行硬编码。你会怎么做呢?
【问题讨论】:
我想用 ansible 实现这样的目标
- debug:
msg: "{{ item }}"
with_items:
- "0"
- "1"
但是要从 range(2) 生成,而不是对迭代进行硬编码。你会怎么做呢?
【问题讨论】:
- debug:
var: item
with_sequence: 0-1
或
with_sequence: start=0 end=1
或
with_sequence: start=0 count=2
注意序列是字符串值,而不是整数(你可以使用item|int进行转换)
【讨论】:
因为with_sequence 被loop 和range 函数替换,你也可以像这个例子一样使用带范围函数的循环:
- hosts: localhost
tasks:
- name: loop with range functions
ansible.builtin.debug:
msg: "{{ 'number: %s' | format(item) }}"
loop: "{{ range(0, 2, 1)|list }}"
【讨论】: