我是新来的ansible。替换一个配置文件中的一个行与安理
是否有一种简单的方法来取代/etc/dhcp/interface-br0.conf
中以option domain-name-servers
开头的行,并使用更多的IP?
option domain-name-servers 10.116.184.1,10.116.144.1;
我想补充,10.116.136.1
我是新来的ansible。替换一个配置文件中的一个行与安理
是否有一种简单的方法来取代/etc/dhcp/interface-br0.conf
中以option domain-name-servers
开头的行,并使用更多的IP?
option domain-name-servers 10.116.184.1,10.116.144.1;
我想补充,10.116.136.1
可以使用lineinfile Ansible module来实现这一目标。
- name: replace line
lineinfile:
dest: /etc/dhcp/interface-br0.conf
regexp: '^(.*)option domain-name-servers(.*)$'
line: 'option domain-name-servers 10.116.184.1,10.116.144.1,10.116.136.1;'
backrefs: yes
的regexp
选项告诉模块会是怎样的内容替换。
line
选项会用您选择的新内容替换先前找到的内容。
thx的提示,我改变了我的解决方案更多的行 – rubo77
我创建了一个角色dhcp
具有以下main.yaml
:
---
- name: add all dns servers
lineinfile:
dest: /etc/dhcp/interface-br0.conf
regexp: '^\s*option domain-name-servers.*$'
line: ' option domain-name-servers 10.116.184.1,10.116.144.1,10.116.136.1;'
backrefs: yes
become: true
['lineinfile'](https://docs.ansible.com/ansible/lineinfile_module.html)。使用'regexp'和'backrefs'参数,从包含的例子中学习。 – techraf