首页 文章

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

提问于
浏览
0

我在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 | match(\“它似乎已停止 . \”)%} 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 回答

  • 1

    发生这种情况是因为 msg 未定义 . 你想用:

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

相关问题