使用ansible向目录中的多个文件添加多行
我想在目录中的多个.conf文件中添加一些行,例如使用ansible向目录中的多个文件添加多行,ansible,insertafter,Ansible,Insertafter,我想在目录中的多个.conf文件中添加一些行,例如/etc/abc/xabc/ 我想补充的两行内容如下: Composite=1 Extension=1 我希望这些行出现在包含[protocol]的行之后 我该怎么做 我不知道如何处理这件事;请参见下面我的尝试-尽管我知道这是错误的: - name: add line - lineinfile: dest: "{{ item }}" regexp: "{{ item.regexp }}" line: "{{ item.
/etc/abc/xabc/
我想补充的两行内容如下:
Composite=1
Extension=1
我希望这些行出现在包含[protocol]
的行之后
我该怎么做
我不知道如何处理这件事;请参见下面我的尝试-尽管我知道这是错误的:
- name: add line
- lineinfile:
dest: "{{ item }}"
regexp: "{{ item.regexp }}"
line: "{{ item.line }}"
insertafter: [Protocol]
with_items: xxxxxx
我假设我还必须注册(
/etc/abc/xabc/
)目录的输出?首先,看起来您想要编辑ini文件,因此该模块更合适:
- ini_file:
dest: /path/to/destination/file.ini
section: Protocol
option: "{{ item.option }}"
value: "{{ item.value }}"
with_items:
- { option: Composite, value: 1 }
- { option: Extension, value: 1 }
其次,看起来您想要使用嵌套循环。为了清楚起见,我将在目标目录的fileglob上的外部循环中包含一个文件,并在包含的文件中进行配置。例如,内部循环.yml
:
- ini_file:
dest: "{{ destination_file }}"
section: Protocol
option: "{{ item.option }}"
value: "{{ item.value }}"
with_items:
- { option: Composite, value: 1 }
- { option: Extension, value: 1 }
和外部:
- include: inner_loop.yml
with_fileglob:
- /etc/abc/xabc/*
loop_control:
loop_var: destination_file
提出了另一种可能的解决方案,用于将循环项与循环全局项相结合