是否可以使用Ansible LINEINFLE模块添加同一行?
我有下面的剧本试图打印感叹号。但是test.txt文件总是有一行“-e!\” lineinfile的行为是不能多次添加同一行吗?我可以禁用此行为吗?或者这有什么解决办法吗是否可以使用Ansible LINEINFLE模块添加同一行?,ansible,Ansible,我有下面的剧本试图打印感叹号。但是test.txt文件总是有一行“-e!\” lineinfile的行为是不能多次添加同一行吗?我可以禁用此行为吗?或者这有什么解决办法吗 - hosts: localhost vars: items_list: - '!' - '!' - '!' tasks: - name: "append all items" lineinfile: d
- hosts: localhost
vars:
items_list:
- '!'
- '!'
- '!'
tasks:
- name: "append all items"
lineinfile:
dest: "test.txt"
line: '-e {{ item }} \'
with_items: "{{ items_list }}"
- name: "append all items"
lineinfile:
dest: "test.txt"
line: '-e {{ item }} \'
with_items: "{{ items_list }}"
devops@devops:~/ANSIBLE$ more test.txt
-e ! \
添加多行不是
lineinfle
模块的目的
问题很清楚:
- 此模块确保文件中存在特定行,或使用反向引用的正则表达式替换现有行
- 当您只想更改文件中的一行时,这主要非常有用。如果要更改多个,请参阅“替换”模块, 如果要插入/更新/删除,请选择类似的行或选中blockinfile 文件中的行块。有关其他情况,请参见副本或模板 模块
所以不,你不能。要实现所需的行为,请使用上面建议的模块之一。否,您不能使用
lineinfle:
将同一行添加到多行,因为它已完成您的要求并将该行添加到文件中。您的目标是将这三行放在文件中,还是存在一些复杂的情况?不,您不能,您可以使用blockinfle
将几行放在一个文件中file@MatthewL Daniel…我想生成Cisco配置。使用“!”分隔不同部分的文件。。。