Ansible Playbook 使用条件判断语句

先介绍一下 gather_facts 参数,该参数用于指定在执行任务前,是否先执行 setup 模块获取主机相关信息,以便给后面的任务使用

[[email protected] ~]# ansible 192.168.119.134 -m setup    # 查看主机的facter信息
192.168.119.134 | SUCCESS => {
    "ansible_facts": {
        "ansible_all_ipv4_addresses": [
            "192.168.119.134"......

条件判断语句写法:

[[email protected] ~]$ cat when.yml
---
- hosts: 192.168.119.134
  user: root
  gather_facts: True                            # 必须先开启这个
  tasks:
    - name: use when
      shell: touch /tmp/when.txt
      when: ansible_date_time.year == "2019"    # 表示当 ansible_date_time.year 的值等于 2019 时,就使用 shell 模块执行 touch /tmp/when.txt 命令

原文地址:https://www.cnblogs.com/pzk7788/p/10216140.html

时间: 2024-10-29 11:20:05

Ansible Playbook 使用条件判断语句的相关文章

sas条件判断语句

if语句<可执行语句> data b; set sashelp.class; if _n_ le 4; *如果if为真,则继续执行if后面的语句,最后输出满足if的条件的观测,如果if为假则立刻返回到data步开头继续执行下一条set语句; y = 'now'; /* y = 'now'; if _n_ le 4;也能得出同样的结果,但是效率相对来说较低,因为要重复执行y的赋值语句 */ run; if的另外两种格式if x=3 then y=4; 对于要表达的只有一条数据就用thenif x

条件判断语句比较

条件判断语句比较 流程控制进行条件语句判断的时候,经常用到各种数据类型的变量与零值比较的问题,这里进行一个总结加深对数据类型的认识,不规范的与零比较语句容易让人对参与比较的数据类型产生误解. §1. 布尔变量与零值比较 C++有bool类型,C99标准才有布尔类型_Bool,用整型代替布尔类型,非0表示真,0表示假,如果你的编译器不支持布尔类型,可以自定义类型enum_BOOL{FALSE = 0,TRUE = !FALSE}. 不可将布尔变量直接与TRUE.FALSE或者1.0进行比较,假设布

条件判断语句 if语句/switch语句

if(条件表达式)语句 if语句即条件判断语句,对于if语句括号里的表达式,ECMAScript会自动调用Boolean()转型函数将这个表达式的结果转换成一个布尔值.如果值为true,执行后面的一条语句,否则不执行 <script type="text/javascript"> var box = 100; if (box > 50) //if 语句里的表达式如果返回的false,只会不执行后面的一条语句 alert(box); //第二条语句,和if语句无关,所以

if条件判断语句的不同

let number = ["a":1, "b":2, "c":3]; if let num = number["d"] { print(num) } 看似条件语句是个赋值语句,而我们若如下这样定义: if let n = 1 { } 不行,语法报错的,if条件判断语句只有true与false,初看两个例子差不多,主要是刚接触,对可选类型不太熟,第一个例子中num值是可选类型 int?,它的展开形式如下: let number

21_Shell语言——条件判断一之执行状态返回值、单分支条件判断语句

一.选择执行语句概述 面向过程的程序其流程控制结构主要有三种:1. 顺序执行:2. 循环执行:3. 选择执行.前文中介绍了循环执行,本章及后续章节将重点介绍选择执行这种结构. 选择执行是指当程序执行过程中如果满足指定条件,就执行其中一部分内容,否则就执行其他内容,即只是有选择性的执行测试条件的相关内容. 现在设想,如果要添加用户user1,可以使用useradd user1来实现.但如果user1用户已经存在了,那么执行useradd user1时就会报错.为了避免这种情况,就需要在执行前先测试

求 1+2+...+n, 要求不能使用乘除法、for、while、if、else、switch、case 等关键字以及条件判断语句 (A?B:C)。

求 1+2+...+n,要求不能使用乘除法.for.while.if.else.switch.case 等关键字以及条件判断语句 (A?B:C). #include <bits/stdc++.h> using namespace std; int Sum(int n) { int Ret = 0; n == 0 || (Ret = Sum(n-1)); return n + Ret; } class A{ public: A() { sum += ++n; } static int sum;

Js的三种条件判断语句

Js的三种条件判断语句 If if语句 只有当指定条件为 true 时,使用该语句来执行代码. 语法 if (条件) { 只有当条件为 true 时执行的代码 } if...else 语句 在条件为 true 时执行代码,在条件为 false 时执行其他代码. 语法 if (条件) { 当条件为 true 时执行的代码 } else { 当条件不为 true 时执行的代码 } If...else if...else 语句 使用 if....else if...else 语句来选择多个代码块之一来

题目:求1+2+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字以及条件判断语句(A?B:C)

题目:求1+2+…+n,要求不能使用乘除法.for.while.if.else.switch.case等关键字以及条件判断语句(A?B:C). 分析:这道题没有多少实际意义,因为在软件开发中不会有这么变态的限制.但这道题却能有效地考查发散思维能力,而发散思维能力能反映出对编程相关技术理解的深刻程度. 通常求1+2+…+n除了用公式n(n+1)/2之外,无外乎循环和递归两种思路.由于已经明确限制for和while的使用,循环已经不能再用了.同样,递归函数也需要用if语句或者条件判断语句来判断是继续

求1+2+3+...+n的值,要求不能使用乘除法,for、while、if、else、switch、case、等关键字及条件判断语句(JAVA)

采用递归和三目表达式注意红色字体一定不能写成n-- 1 package com.hunag; 2 3 public class Sum { 4 5 static int sum; 6 public static int isum(int n) 7 { 8 sum+=n; 9 sum=n==0?sum:isum(--n); 10 System.out.println(n); 11 return sum; 12 } 13 public static void main(String[] args)