写点什么

ansible 模块:set_fact

作者:ghostwritten
  • 2022 年 5 月 11 日
  • 本文字数:1942 字

    阅读完需:约 6 分钟

ansible 模块:set_fact

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
用户头像

ghostwritten

关注

改变中国 2018.11.14 加入

虚心好学,勤奋努力,为中华之崛起而读书。

评论

发布
暂无评论
ansible 模块:set_fact_ansible_ghostwritten_InfoQ写作社区