【问题标题】:How to make Ansible YAML parsing accept this command?如何让 Ansible YAML 解析接受这个命令?
【发布时间】:2015-03-15 10:30:50
【问题描述】:

问题:
如何让 Ansible YAML 解析接受这个命令?

详情如下:

这个 YAML:

-shell: "/home/developer/eclipse/eclipse -application org.eclipse.equinox.p2.director -noSplash -repository
'http://moreunit.sourceforge.net/update-site' -installIUs
org.moreunit.feature.group"

验证人:
http://yaml-online-parser.appspot.com/
http://www.yamllint.com/
http://codebeautify.org/yaml-validator

但是 ansible 说:

This one looks easy to fix.  It seems that there is a value started
with a quote, and the YAML parser is expecting to see the line ended
with the same kind of quote.  For instance:

    when: "ok" in result.stdout

Could be written as:

   when: '"ok" in result.stdout'

or equivalently:

   when: "'ok' in result.stdout"

作为参考,此 YAML 完美运行:

-shell: "wget 'http://ftp.gnu.org/gnu/wget/wget-1.5.3.tar.gzip'"

【问题讨论】:

    标签: yaml ansible ansible-playbook


    【解决方案1】:

    试试

     - shell: >
          /home/developer/eclipse/eclipse
          -application org.eclipse.equinox.p2.director
          -noSplash
          -repository 'http://moreunit.sourceforge.net/update-site'
          -installIUs org.moreunit.feature.group
    

    不要相信编辑器或语法荧光笔。让 ansible 告诉您是否存在问题(如果您愿意,请使用 -C 标志运行它以模拟空运行)。还可以尝试在 repo URL 周围用双引号替换单引号。

    【讨论】:

    • 在 lubuntu 14.04.2 上通过 ansible 1.8.4 验证
    猜你喜欢
    • 1970-01-01
    • 2023-03-08
    • 2016-04-24
    • 1970-01-01
    • 1970-01-01
    • 2018-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多