如何在Ansible任务中正确引用引号

时间:2017-06-08 13:11:33

标签: ansible

我在ansible任务中使用以下代码

- name: Check the status of application server {{ server }}
  command: /opt/serverStatus.sh {{ server }}
  register: url

- debug: msg="{{ url.stdout }}"

- name: start the application server
  command: /opt/startServer.sh {{ server }}
  when: msg | match("It appears to be stopped.")

收到以下错误:

  

致命:服务器:失败! => {“failed”:true,“msg”:“条件检查'msg |匹配(\”它似乎已停止。\“)'失败。错误是:发生了意外的模板类型错误({%if msg |匹配(\“它似乎已停止。\”)%} True {%else%} False {%endif%}):预期的字符串或缓冲区\ n \ n错误似乎在'/ home / abc / xyz中/roles/was/tasks/main.yml':第28行,第3列,但可能在文件的其他位置,具体取决于确切的语法问题。\ n \ n违规行似乎是:\ n \ n \ n- name:启动应用程序服务器\ n ^ here \ n“}

请帮助我做错了。什么报价丢失?

1 个答案:

答案 0 :(得分:1)

这是因为msg未定义。你想使用:

- name: start the application server
  command: /opt/startServer.sh {{ server }}
  when: url.stdout | match("It appears to be stopped.")