linux--ansible(playbook5 变量3)

1.set_factz在tasks内部定义变量
---
- hosts: testB
  remote_user: root
  tasks:
  - set_fact:
      testvar: "test"
  - debug:
      msg: "{{testvar}}"

在这里插入图片描述

2.set_fact 将一个变量的值赋予另一个变量
---
- hosts: testB
  remote_user: root
  vars:
    testvar1: test1_string
  tasks:
  - shell: "echo test2_string"
    register: shellreturn                  注册定义变量
  - set_fact:
      testvar2: "{{shellreturn.stdout}}"   从key拿value
  - debug:
      msg: "{{testvar1}} {{testvar2}}"
      #var: shellreturn

在这里插入图片描述

3.一个play引用另外一个play的变量

set_fact定义可以引用
var定义不可以引用

---
- hosts: testB
  remote_user: root
  vars:
    testvar1: tv1
  tasks:
  - set_fact:
      testvar2: tv2
  - debug:
     msg: "{{testvar1}} ---- {{testvar2}}"

- hosts: testB
  remote_user: root
  tasks:
  - name: other play get testvar2
    debug:
      msg: "{{testvar2}}"
  - name: other play get testvar1
    debug:
      msg: "{{testvar1}}"

在这里插入图片描述

4.不同play引用注册变量
---
- hosts: testB
  remote_user: root
  vars:
    testvar3: tv3
  tasks:
  - shell: "echo tv4"
    register: testvar4
  - debug:
      msg: "{{testvar3}} ---- {{testvar4.stdout}}"

- hosts: testB
  remote_user: root
  tasks:
  - name: other play get testvar4
    debug:
      msg: "{{testvar4.stdout}}"
  - name: other play get testvar3
    debug:
      msg: "{{testvar3}}"

在这里插入图片描述
总结: 通过vars定义的变量,别的play不能引用

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值