循环
with_items 迭代列表
- “{ { item }}”
- with_items:
with_dict 迭代字典
- “{ { item.key }}”
- “{ { item.value }}”
- with_dict:
- KEY:VALUE
with_fileglob 迭代文件
可以使用多个文件。
- “{ { item }}”
- with_filegblob: /xxx/*.xx
with_lines 迭代行
- “{ { item }}”
- with_lines: find 路径 …
with_nested 套嵌迭代
从 0 开始。
- “{ { item[NUM] }}”
- with_nested: [xxx,xxx,xxx,…]
with_sequence 排序列
start:开始
end:结束
stride:每隔
- “{ { item }}”
- with_sequence:
- start=NUM
- start=NUM
- stride=NUM
with_random_choice 随机获得列表中的一个值
- “{ { item }}”
- with_random_choice:
Loop
现在 loop 已经替代了 with,更多的是 loop 配合过滤器进行使用。
“{ { 变量 | 过滤器 }}”
字符串有关的过滤器:
- upper 将字符串转换成纯大写。
- lower 将字符串转换成纯小写。
- trim 将字符串开头和结尾的空格去掉。
- length 求字符串的长度。
- capitalize 将字符串首字母大写,之后的所有字母纯小写。
- first 返回字符串的第一个字符。
- last 返回字符串的最后一个字符。
- center(width=30) 将字符串放在中间,并且设置字符串的长度为 30,字符串两边用空格补齐 30 位长。
- length OR count 返回字符串长度。
- list 将字符串转换成列表,每个字符作为一个元素。
- shuffle 将字符串转换成列表,每个字符作为一个元素,并且随机打乱顺序。
和数字有关的过滤器:
ansible 中,字符串和整形不能直接计算,比如 {
{ 8+‘8’ }} 会报错。
如果无法转换,默认返回 0;使用 int(default=6) 或者 int(6) 时,如果无法转换 int 类型,则返回指定值 6。
- int 整型。
- float 浮点型。
- abs 绝对值。
- round 四舍五入,round(5) 取小数点后五位。
- random 从 0 到 100 中随机返回一个随机数;“{ { 10 | random(sta