如何解决如果尚未存在,则将值添加到行
有一个与下面类似的行的配置文件:
APACHE_SERVER_FLAGS="BLI BLA BLUBB"
如何检查“APACHE_SERVER_FLAGS”是否已经在开头、中间或结尾包含值 SSL
,如果不存在则添加它,使其变为:
APACHE_SERVER_FLAGS="BLI BLA BLUBB SSL"
可以看到,键(APACHE_SERVER_FLAGS
)和值(BLI BLA BLUBB
)之间的分隔符是等号(=
),值内的分隔符是一个空格。值本身包含在双引号内。
除了摆弄正则表达式之外,还有什么聪明的方法可以做到这一点?
UPDATE 可能是“APACHE_SERVER_FLAGS”根本不存在,应该添加 SSL 作为唯一值。
解决方法
由于我们使用的是配置管理工具,因此我的建议是直接使用它。而不是进行检查和修改,恕我直言,这是一种“脚本化”方式 - 最好按照我们想要的方式渲染线条。
ssl-config:
file.keyvalue:
- name: /tmp/my-sample.conf
- key: APACHE_SERVER_FLAGS
- value: "\"{{ pillar['apache_flags'] }}\""
- append_if_not_found: True
这将确保根据这些机器的支柱数据呈现适当的标志。我们也可以使用grains或者saltenv来定义合适的配置。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。