ansible-playbook任务传递变量

变量传递

我们这里有两个任务,第二任务必要得到第一个任务后的结果才能触发给第二个任务。
我们写这样一个脚本,
register vars(获取变量)
我们用shell模块获取一个主机名。hostname
register: info
我们的shell不是去执行一个hostname 这样的一条语句嘛
它执行完成后会吧这个值赋值给我们的info这个变量(赋值给info这么的一个变量)
这里使用到的是register这个模板,register就有这么一个功能,把你执行完成的值赋值给info
我们再使用一个name来标识显示这样的一个变量;
我们这里使用一个debug,来输出我们的信息,我们来打印一个info
来看看我们的脚本
在这里插入图片描述
输出的结果如下
在这里插入图片描述

这里打印了我们这么多的内容,哪些是我们想要的啊,只有cmd里面的是我们想要的,
这里像不像我们的字典,左边的键右边的是值。
那么我们怎么调用这个值啊看看
这里我们再info后面加上stdout直接调用这个值,将其输出。如下
脚本如下:
在这里插入图片描述
修改脚本后,执行后我们可以看到是不是我们想要的主机的名被打印出来啊。
在这里插入图片描述

循环基础

情景设定:假如我们要安装二十个软件,想想我们是不是要写这样的语句写二十编,如下图:
在这里插入图片描述
写这样的二十条,是非常不合理的。那么我们可以使用一个循环来把这个问题解决了。
我们这里可以想想再python里面会怎么做?
如下图:
在这里插入图片描述
这里我们就不管你是二十个还是三十个,还有一千个,我们都可以一个循环跑完。
但是在ansible不是这样的简单的循环,有ansible自己的一个循环语法。它和python的语法有点不一样,我们的剧本它是一个yaml的一个语法,是yml的语法就得用yml的方式来解决这个问题。
我们这里写一个loops.yml的脚本。如下图
在这里插入图片描述
这里item是一个固定写法,我们这里先记住。
with_items是一个模板,这个模板的主要功能就是循环迭代我们下面的变量,在这里的关键字表示迭代的是一个列表。列表里面的每一个变量叫做items。我们都学过C或者Python。那么我们翻译一下这个循环。
for item in with_items:
printf item
大致就是这么一个意思
那么我们来执行一下这个循环。
自己修改一下这个脚本。这个脚本上面有两个常规的习惯错误,第一个发现并改正的同学,请记录在留言区域。并给老师讲。
在这里插入图片描述
好了,这个就是我们的初见循环的讲解。
祝大家学习愉快,
感谢CSDN学习平台。

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李茂茂茂茂茂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值