ansible 之条件语句 when
注册变量:
变量的另一个用途是将一条命令的运行结果保存到变量中,供后面的playbook使用。例如:
- hosts: webservers
tasks:
- shell: /usr/bin/foo
register: foo_result
ignore_errors: True 使用ignore_errors来忽略错误信息
- shell: /usr/bin/bar
when: foo_result.rc == 5
条件语句:
在某些情况下,一个变量的值可以依赖于其他变量的值,当然也会影响Ansible的执行过程。
下面主要介绍When声明.
tasks:
- name: "shutdown Debian flavored systems"
command: /sbin/shutdown -t now
when: ansible_os_family == "Debian"
下面再看一个示例,通过判断一条命令执行结果做不同分支的二级处理。
tasks:
- command: /bin/false 没有 - name 时,此行将被默认成为标题--- TASK: [command: /bin/false]
register: myresult
ignore_errors: True
- command: /bin/something
when: myresult|failed
- command: /bin/something_else
when: myresult|success
- command: /bin/still/something_else
when: myresult|skipped
其中success为Ansible内部过滤器方法,返回True代表命令运行成功。
---------------------------------------------------------------------------
[root@localhost when]# cat main.yml
- hosts: webservers
tasks:
- name: haha
command: /bin/uname
register: result
ignore_errors: True
- command: /bin/df
when: result|failed
register: aaa
- command: /bin/ls
when: result|success
- command: /bin/lsblk
when: aaa|skipped
执行后的结果如下:

ansible 之条件语句 when的更多相关文章
- Ansible的条件语句
此篇主要讲述的ansible的condition,主要是用条件进行一些判断,此篇为官方文档的翻译,没有进行相关的测试,后续会写入相关的测试. Ansible的条件语句 1. 前言 在有的时候pl ...
- ansible之条件语句when
注册变量: 变量的另一个用途是将一条命令的运行结果保存到变量中,供后面的playbook使用.例如: - hosts: webservers tasks: - shell: /usr/bin/foo ...
- 011.Ansible条件语句
一 简介 在有的时候play的结果依赖于变量.fact或者是前一个任务的执行结果,或者有的时候,我们会基于上一个task执行返回的结果而决定如何执行后续的task.这个时候就需要用到条件判断. 条件语 ...
- Ansible9:条件语句【转】
在有的时候play的结果依赖于变量.fact或者是前一个任务的执行结果,从而需要使用到条件语句. 一.when 有的时候在特定的主机需要跳过特定的步骤,例如在安装包的时候,需要指定主机的操作系统 ...
- Ansible14:Playbook条件语句
目录 简介 when关键字 1. when基本使用 2. 比较运算符 3. 逻辑运算符 条件判断与tests 判断变量 判断执行结果 判断路径 判断字符串 判断整除 其他tests 条件判断与bloc ...
- Python —条件语句
条件语句 Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块. 可以通过下图来简单了解条件语句的执行过程: Python程序语言指定任何非0和非空(null ...
- php简写表达式,&& or || 缩写条件语句
有时候学的多了, 好多小细节 都忘了 ,比如 简单的表达式, 三元表达式 ?:; $aa or $bb 表达式 等等! 写一些简单的表达式,备忘! php用&&和||缩写条件语句 ...
- java中的条件语句(if、if...else、多重if、嵌套if)
Java条件语句之 if 生活中,我们经常需要先做判断,然后才决定是否要做某件事情.例如,如果考试成绩大于 90 分,则奖励一个 IPHONE 5S .对于这种"需要先判断条件,条件满足后才 ...
- javascript语句——条件语句、循环语句和跳转语句
× 目录 [1]条件语句 [2]循环语句 [3]跳转语句 前面的话 默认情况下,javascript解释器依照语句的编写顺序依次执行.而javascript中的很多语句可以改变语句的默认执行顺序.本文 ...
随机推荐
- python 黑魔法 ---上下文管理器(contextor)
所谓上下文 计算机上下文(Context)对于我而言,一直是一个很抽象的名词.就像形而上一样,经常听见有人说,但是无法和现实认知世界相结合. 最直观的上下文,莫过于小学的语文课,经常会问联系上下文,推 ...
- C语言链表实现
#define _CRT_SECURE_NO_WARNINGS #include "stdio.h" #include "stdlib.h" typedef s ...
- 使用navicat的SSH隧道连接数据库
这几天在连接远程数据库的时候,发现用navicat的普通方法居然连接不上,然后就想用ssh连接试试,开始是报错的,错误是这样的: lost connection to Mysql server at ...
- CentOS Linux最常用命令及快捷键整理
最近一直在对CentOS系统进行各种体验,为方便自己也方便他人,整理了Linux常用命令及快捷键,不过其实大多和DOS是一样的,只是命令的表达上可能有点儿不一样. 常用Linux命令: 文件和目录: ...
- 03-使用html静态页面展示执行效果
使用工作流框架可以做什么事情?写代码呗,没那么简单.
- Python小程序之「读取站点地图 自动为Gitalk创建Issues」
首发于个人博客 想获得更好的阅读体验,烦请移步⬆️ 前言 前些天给博客加了评论功能,试了Disqus.Valine等一干评论系统,最后还是选择了在大陆相对友好而且符合技术博客风格的Gitalk.但是由 ...
- Shrio04 自定义Realm
1 说明 1.1 Realm的作用 Realm和认证和授权时的数据交互有关,相当于DAO层. 1.2 AuthorizingRealm >层次关系图 >作用继承AuthorizingRea ...
- C#通用数据访问类库
说明:此篇文章是给那些和我一样仍在使用ADO.NET访问数据库的.NET开发人员写的,因为某些原因,比如还在使用.NET3.0以下版本开发.NET应用或者所使用的数据库对ORM支持不是很好,或者是对O ...
- 单词的添加与查找 · Add and Search Word
[抄题]: 设计一个包含下面两个操作的数据结构:addWord(word), search(word) addWord(word)会在数据结构中添加一个单词.而search(word)则支持普通的单词 ...
- Ubuntu18.04安装Virtualenv虚拟环境
在Ubuntu18.04安装Virtualenv虚拟环境 [实验环境]: 在这台电脑上已经安装了python3 [安装参考] 1.查看是否已安装virtualenv virtualenv --vers ...