注册变量:

变量的另一个用途是将一条命令的运行结果保存到变量中,供后面的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

执行后的结果如下:

转载于:https://www.cnblogs.com/wangjq19920210/p/9111219.html

ansible 之条件语句 when相关推荐

  1. ansible的条件判断、迭代执行、tags

    在ansible中支持条件判断,这使我们操作更加灵活 使用when进行条件测试 示例1: 将 testservers 组中的其中一台主机上的 httpd 服务卸载掉,另外主机不卸载 1 2 3 4 5 ...

  2. Ansible9:条件语句【转】

    在有的时候play的结果依赖于变量.fact或者是前一个任务的执行结果,从而需要使用到条件语句. 一.when     有的时候在特定的主机需要跳过特定的步骤,例如在安装包的时候,需要指定主机的操作系 ...

  3. Linux运维-day44-综合架构-playbook剧本的变量、条件语句及循环语句

    环境准备: m01管理服务器(外网:10.0.0.61:内网:172.16.1.61) backup(外网:10.0.0.41:内网:172.16.1.41) nfs01(外网:10.0.0.31:内 ...

  4. Go 学习笔记(8)— 条件语句(if、if...else...、switch、fallthrough)

    Go 语言提供了以下几种条件判断语句: 语句 描述 if 语句 if 语句 由一个布尔表达式后紧跟一个或多个语句组成 if-else 语句 if 语句 后可以使用可选的 else 语句, else 语 ...

  5. 用python循环语句求素数_Python基础入门_3条件语句和迭代循环

    Python 基础入门前两篇: Python 基础入门--简介和环境配置 Python基础入门_2基础语法和变量类型 这是第三篇内容,主要简单介绍条件语句和迭代循环语句,内容也比较简单,目录如下: 条 ...

  6. python 条件选择语句_Python趣味入门4:选择往往是最重要的-条件语句

    人生处处有选择,程序也有选择,为了让程序变得更加强壮,程序员必须考虑任何情况,上一篇了解到了如何使用Python来行顺序语句的编写,我们写了一个可以输入姓名的生日祝贺程序,今天我们挑战条件语句! 1. ...

  7. day1简述、输入输出、运算符、条件语句、文件读写、三元运算

    文章目录 1.Python 简述 2.变量 3.输入输出 4.数据运算 5. 条件语句 if..else.elif 循环语句 for.while 6.文件读写 7.三元运算 1.Python 简述   ...

  8. R语言If、Else条件语句实战

    R语言If.Else条件语句实战 目录 R语言If.Else条件语句实战 # if()函数和else() 函数 # ifelse函数

  9. 包教包会!7段代码带你玩转Python条件语句(附代码)

    来源:大数据 本文约5200字,建议阅读10分钟. 本文介绍了Python条件语句常用的7段代码. [ 导 读 ]条件语句通过一个或多个布尔表达式的执行结果(真值或假值)决定下一步的执行方向.所谓布尔 ...

最新文章

  1. redis 漏洞利用与防御
  2. C#获取控制台句柄的方法
  3. MySql之DDL操作创建表(添加主键, 外键约束以及基本的数据类型)
  4. C++笔记——指向常量的指针/指针常量
  5. NET框架下如何使用PaddleOCRSharp
  6. python怎么填充画布_如何在kivy中用图像填充画布?
  7. PHP方向+go+rpc+swoole,瞅瞅 PHP+Swoole 作为网络通信框架
  8. 跨平台屏幕/摄像头RTMP推流模块设计要点
  9. linux查询cpu核心数
  10. python之路day5_学习python之路--Day5 计算器
  11. matlab控制图像的边界(margin),subplot的间距(gap)
  12. 百度文库免积分免费下载工具的原理与实现
  13. JS事件 内容选中事件(onselect)选中事件,当文本框或者文本域中的文字被选中时,触发onselect事件,同时调用的程序就会被执行。...
  14. MeanShift、K-Means与GMM迭代
  15. 详细介绍 Yolov5 转 ONNX模型 + 使用ONNX Runtime 的 Python 部署(包含官方文档的介绍)
  16. 【Sutcliffe Pentagons】奇幻派的漂流
  17. c++内存管理:new与delete,深拷贝与浅拷贝
  18. Python lambda表达式及用法
  19. JDBC链接中的问题
  20. PROFINET实时以太网协议

热门文章

  1. 网址大全:国外超级便宜空间
  2. 再看序列化与反序列化[转]
  3. 【Spring 基础注解】对象创建相关注解、注入相关注解、注解扫描详解
  4. 跟我一起学jQuery——第二集(未完待续..)
  5. arpspoof看看隔壁女同事上班时间都在浏览什么网页?
  6. [转]非极大值抑制(Non-Maximum Suppression)
  7. Meinheld 和 Gevent_XYM
  8. 城市天气数据获取接口
  9. 互联网人必看的中台理论,阿里腾讯架构师用大白话讲出来了
  10. Nodejs版本的企业微信中接收消息与腾讯对接之验证URL 代码已经上传,可以去下载