赞
踩
ansible-playbook debug中var输出和msg输出的区别
msg:调试输出的消息
var:将某个任务执行的输出作为变量传递给debug模块
使用var的时候,引用变量无需加上大括号{{}}
使用msg的时候相当于输出一条字符串,需要加上引用变量
[root@iZ2ze1o roles]#cat checkd_docker.yml
---
- hosts: youyou
tasks:
- name: debug-var
vars:
docker_version: "xiapi"
debug: var=docker_version
- name: debug-msg
vars:
docker_version: "xiapi"
debug:
msg: "{{ docker_version }}"
[root@iZ2ze1o roles]#
[root@iZ2ze1o roles]# ansible-playbook checkd_docker.yml PLAY [youyou] *************************************************************************************************************** TASK [Gathering Facts] ****************************************************************************************************** ok: [172.27.78.247] TASK [check] **************************************************************************************************************** ok: [172.27.78.247] TASK [debug-var] ************************************************************************************************************ ok: [172.27.78.247] => { "docker_version": "xiapi" } TASK [debug-msg] ************************************************************************************************************ ok: [172.27.78.247] => { "msg": "xiapi" } PLAY RECAP ****************************************************************************************************************** 172.27.78.247 : ok=4 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 [root@iZ2ze1o roles]#
ansible-playbook 将执行命令的结果返回在屏幕上
可以看到debug不光输出了date命令结果,还返回了很多相关调试信息,只需要date返回值,可以使用变量属性过滤 如:xiapi.stdout 就是命令的返回值。
"changed": false
是否改变,这次我通过changed_when 控制为false,如果不控制的话,执行命令算是成功改变
"cmd": "date"
所执行的命令
"delta": "0:00:00.004843"
执行的耗时时间
"end": "2020-06-11 14:05:37.566633"
结束时间
"rc": 0
命令执行返回的数字,0代表成功,其他则是不成功 和$?等同
"start": "2020-06-11 14:05:37.561790"
开始时间
"stdout": "Thu Jun 11 14:05:37 CST 2020"
命令输出的结果
[root@iZ2ze1o0n0b42zks2le9byZ roles]#cat checkd_docker.yml --- - hosts: youyou tasks: - name: check shell: date register: xiapi changed_when: false ignore_errors: true - name: debug-var debug: var=xiapi - name: debug-msg vars: docker_version: "{{ xiapi.stdout }}" debug: msg: "{{ docker_version }}" [root@iZ2ze1o0n0b42zks2le9byZ roles]#
[root@iZ2ze1o0n0b42zks2le9byZ roles]# ansible-playbook checkd_docker.yml PLAY [youyou] *************************************************************************************************************** TASK [Gathering Facts] ****************************************************************************************************** ok: [172.27.78.247] TASK [check] **************************************************************************************************************** ok: [172.27.78.247] TASK [debug-var] ************************************************************************************************************ ok: [172.27.78.247] => { "xiapi": { "changed": false, "cmd": "date", "delta": "0:00:00.004843", "end": "2020-06-11 14:05:37.566633", "failed": false, "rc": 0, "start": "2020-06-11 14:05:37.561790", "stderr": "", "stderr_lines": [], "stdout": "Thu Jun 11 14:05:37 CST 2020", "stdout_lines": [ "Thu Jun 11 14:05:37 CST 2020" ] } } TASK [debug-msg] ************************************************************************************************************ ok: [172.27.78.247] => { "msg": "Thu Jun 11 14:05:37 CST 2020" } PLAY RECAP ****************************************************************************************************************** 172.27.78.247 : ok=4 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 [root@iZ2ze1o0n0b42zks2le9byZ roles]#
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。