正则表达式 – 如何在可复制的YAML文件中的字符串中转义冒号?

前端之家收集整理的这篇文章主要介绍了正则表达式 – 如何在可复制的YAML文件中的字符串中转义冒号?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想在安装过程中更改文件/var/www/kibana/config.js中的一行代码
elasticsearch: "http://"+window.location.hostname+":9200"

elasticsearch: "http://192.168.1.200:9200"

在这里我试图使用lineinfile做如下所示

- name: Comment out elasticsearch the config.js to ElasticSearch server
  lineinfile:
    dest=/var/www/kibana/config.js
    backrefs=true
    regexp="(elasticsearch.* \"http.*)$"
    line="elasticsearch\: \" {{ elasticsearch_URL }}:{{ elasticsearch_port }} \" "
    state=present

我已将{{elasticsearch_URL}}和{{elasticsearch_port}}的变量分别设置为http://192.168.1.200和9200。

这是我遇到的错误信息:

ERROR: Syntax Error while loading YAML script,/Users/shuoy/devops_workspace/ansible_work/logging-for-openstack/roles/kibana/tasks/Debian.yml
Note: The error may actually appear before this position: line 29,column 25

regexp="(elasticsearch.* \"http.*)$"
line="elasticsearch\: \" {{ elasticsearch_URL }}:{{ elasticsearch_port }} \" "
                    ^
您需要将整个行包含在“,其中:出现。
lineinfile:
'dest=/var/www/kibana/config.js
backrefs=true
regexp="(elasticsearch.* \"http.*)$"
line="elasticsearch\: \ {{ elasticsearch_URL }}:{{ elasticsearch_port }} \ "
state=present'

请看这些页面
Link-1 Link-2 Link-3

猜你在找的正则表达式相关文章