编写循环(RH294)

循环这东西你早就懂的不是么

就像python里的for一样

在ansible中 使用loop关键字来实现迭代

简单循环

简单循环中一般使用loop关键字来开始循环

使用循环变量item来存储每个迭代过程中使用的值

举个例子 栗子啊

首先让我们拿出两个任务片段

  - name: Postfix is running
    service:
        name: postfix
        state: started
        
  - name: dovceot is running
    service: 
        name: postfix
        state: started

这两个任务极其相似,这种时候我们可以使用循环

将两个任务写成一个循环

  - name: postfix and povecot are running
    service:
        name: "{{item}}"
        state: started
    loop:
        - psotfix
        - dovecot

在这个循环中 item会逐一使用 loop中的值

我们也可以通过一个变量提供loop所使用的列表

vars:
    mail_services:
        - postfix
        - dovecot

使用该变量

tasks:
  - name: postfix and dovecot are running
    service:
        name: "{{ item }}"
        state: started
    loop: "{{ mail_services }}"

循环散列或者字典列表

也就是说loop这玩意能循环的不只是列表

还可以是散列或者字典

每个散列或字典具有两个键,及name和groups

在使用循环时,item循环变量中每个键的值可以

通过 item.name 和 item.groups 变量来检索

  - name: users exist and are in the correct groups
    user:
        name: "{{ item.name }}"
        state: present
        groups: "{{ item.group}}"
    loop:
      - name: jane
        groups: wheel
      - name: joe
        groups: root

这里的loop两行为一组 每次循环调用一组

这里提一下较早样式的Ansible循环

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值