AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 695786
Accepted
Zulakis
Zulakis
Asked: 2015-06-02 03:50:39 +0800 CST2015-06-02 03:50:39 +0800 CST 2015-06-02 03:50:39 +0800 CST

ansible 打印调试消息变量

  • 772

我尝试mosh_version使用 ansibledebug msg命令打印以前注册的变量,如下所示:

- name: Print mosh version
  debug: msg="Mosh Version: {{ mosh_version.stdout }}"

它不起作用并打印以下错误:

Note: The error may actually appear before this position: line 55, column 27

- name: Print mosh version
  debug: msg="Mosh Version: {{ mosh_version.stdout }}"
                          ^
We could be wrong, but this one looks like it might be an issue with
missing quotes.  Always quote template expression brackets when they
start a value. For instance:

    with_items:
      - {{ foo }}

Should be written as:

    with_items:
      - "{{ foo }}"

我试过了

- name: Print mosh version
  debug: msg=Mosh Version: "{{ mosh_version.stdout }}"

但这只会打印“Mosh”。

让它运行的最佳方法是什么?

deployment
  • 6 6 个回答
  • 189737 Views

6 个回答

  • Voted
  1. Best Answer
    Tom Aac
    2015-06-02T04:16:20+08:002015-06-02T04:16:20+08:00

    尝试这个:

    - name: Print mosh version
      debug: "msg=Mosh Version: '{{ mosh_version.stdout }}'"
    

    http://docs.ansible.com/YAMLSyntax.html#gotchas中的更多信息

    编辑:这样的东西对我来说很完美:

    - name: Check Ansible version
      command: ansible --version
      register: ansibleVersion
    
    - name: Print version
      debug:
        msg: "Ansible Version: {{ ansibleVersion.stdout }}"
    

    http://pastie.org/private/cgeqjucn3l5kxhkkyhtpta

    • 43
  2. xddsg
    2015-06-03T09:43:09+08:002015-06-03T09:43:09+08:00

    最简单的答案

    - debug: var=mosh_version.stdout
    
    • 11
  3. namasivayam.cse
    2020-05-06T09:12:23+08:002020-05-06T09:12:23+08:00

    我在同一个调试播放中显示了变量和消息。

    Ansible 任务

    - name: Report the /boot/initramfs file status for latest installed kernel
      debug:
        msg: "{{ ansible_hostname }} =  {{INITRAMFS_LAST_KERNEL.stdout}}"
        
    

    输出

    TASK [os-upgrade.linux : Report the /boot/initramfs file status for latest installed kernel] *******************************************
    ok: [ANSIBLENODE] => {
        "msg": "ANSIBLENODE =  /boot/initramfs-3.10.0-1062.12.1.el7.x86_64.img"
    }
    
    • 3
  4. remintz
    2016-06-29T12:09:14+08:002016-06-29T12:09:14+08:00

    只需删除冒号

    debug: msg="Mosh Version {{ mosh_version.stdout }}"
    
    • 2
  5. Collin Cudd
    2018-07-06T17:14:26+08:002018-07-06T17:14:26+08:00

    每当我在 Ansible 字符串/cmds 中遇到特殊字符问题时,我都会这样做:

    1. 用单引号括起来
    2. 用双花括号包裹

    所以你的标准冒号变成{{':'}}

    你的任务变成:

    - debug: msg="Ansible Version{{':'}} {{ ansibleVersion.stdout }}"
    

    这同样适用于大多数特殊字符,甚至是字符串。考虑以下:

    docker ps --format '{{.Names}}'
    

    为了在 Ansible 中运行它,只需应用相同的逻辑,以下任务将按预期执行:

    - name: Get the docker container names
      become: yes
      shell: "docker ps --format '{{'{{'}}.Names{{'}}'}}'"
      register: docker_containers
    
    • 2
  6. checksum
    2016-04-15T05:37:38+08:002016-04-15T05:37:38+08:00

    我用这个,注意双引号(“)和单引号(')的位置

    - name: Print mosh version
      debug: "msg='Mosh Version: {{ mosh_version.stdout }}'"
    
    • 1

相关问题

  • 网络监控产品公司的部署工程师需要具备哪些技能?[关闭]

  • Mac OS X 的无人值守安装

  • Firefox 打包以包含用于网络安装的插件

  • 我应该将 Rails 应用程序部署到哪个目录?

  • 将 iChat 设置部署到多个用户

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve