【发布时间】:2020-05-14 09:21:45
【问题描述】:
我在 Zabbix 代理配置中有一个字符串,例如
HostMetadata=Linux
我想用变量“nginx”把它改成:
HostMetadata=Linux nginx
此更改必须是幂等的。但是当我使用代码两次时,行改为
HostMetadata=Linux nginx nginx
我的代码:
- name: regexp
lineinfile:
path: /etc/zabbix/zabbix_agentd.conf
regexp: '^(HostMetadata=Linux.*)$'
line: '\1 nginx'
backrefs: yes
tags: regexp
我尝试了“^HostMetadata=((?!nginx).)*$”,但它破坏了下一步,结果将是“x nginx”
我想创建可重用的代码并添加新参数。例如:
VAR=nginx
"HostMetadata=Linux" -> "HostMetadata=Linux nginx"
VAR=apache
"HostMetadata=Linux nginx" -> "HostMetadata=Linux nginx apache"
VAR=nginx
"HostMetadata=Linux nginx apache" -> "HostMetadata=Linux nginx apache" (nothing changed)
【问题讨论】: