0
点赞
收藏
分享

微信扫一扫

ansible set_fact模块

小贴贴纸happy 2022-05-31 阅读 36


文章目录

  • ​​1. 介绍​​
  • ​​2. 示例​​
  • ​​2.1 定义并输出变量​​
  • ​​2.2 返回值设置变量​​
  • ​​2.3 跨play调用变量​​

1. 介绍

set_fact模块在tasks中定义变量

2. 示例

2.1 定义并输出变量

set_fact.yaml

---
- hosts: localhost
remote_user: root
tasks:
- set_fact:
test: "123456"
- debug:
msg: "{{test}}"

执行输出:

ansible-playbook set_fact.yaml

PLAY [localhost] *******************************************************************************************************************************************************************************************************************************************

TASK [Gathering Facts] *************************************************************************************************************************************************************************************************************************************
ok: [localhost]

TASK [set_fact] ********************************************************************************************************************************************************************************************************************************************
ok: [localhost]

TASK [debug] ***********************************************************************************************************************************************************************************************************************************************
ok: [localhost] => {
"msg": "123456"
}

PLAY RECAP *************************************************************************************************************************************************************************************************************************************************
localhost : ok=3 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0

2.2 返回值设置变量

set_fact2.yaml

- hosts: localhost
remote_user: root
vars:
test1: "123456"
tasks:
- shell: echo "hello world"
register: result
- set_fact:
test_one: "{{test1}}"
test_two: "{{result.stdout}}"
- debug:
msg: " test_one is {{test_one}}; test_two is {{test_two}}"

输出:

$ ansible-playbook set_fact2.yaml 

PLAY [localhost] *******************************************************************************************************************************************************************************************************************************************

TASK [Gathering Facts] *************************************************************************************************************************************************************************************************************************************
ok: [localhost]

TASK [shell] ***********************************************************************************************************************************************************************************************************************************************
changed: [localhost]

TASK [set_fact] ********************************************************************************************************************************************************************************************************************************************
ok: [localhost]

TASK [debug] ***********************************************************************************************************************************************************************************************************************************************
ok: [localhost] => {
"msg": " test_one is 123456; test_two is hello world"
}

PLAY RECAP *************************************************************************************************************************************************************************************************************************************************
localhost : ok=4 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0

2.3 跨play调用变量

[略]

举报

相关推荐

0 条评论