如何使用Ansible中的lineinfile
模块将一个空行添加到文件末尾?
以下内容不会增加任何内容:
- lineinfile:
dest: /mypath/myfile
line: "{{ item }}"
insertbefore: EOF
with_items:
- ""
以下添加两个空行(可能是一个字符串\n
解析为空行,一个字符串后的默认EOL):
- lineinfile:
dest: /mypath/myfile
line: "{{ item }}"
insertbefore: EOF
with_items:
- "\n"
答案 0 :(得分:1)
为什么要 insertbefore EOF?它应该是 insertafter EOF,这是默认值。以下应该有效。
- lineinfile:
dest: /mypath/myfile
line: ''
答案 1 :(得分:1)
使用lineinfile
模块无法在文件末尾可靠地添加空行。
lineinfile
module旨在实现:
将在文件中搜索一行,并确保它存在或不存在。
实际上,如果文件中某处存在空行,则任务将成功通过而不会在末尾添加新行。
唯一可靠的方法是执行shell命令echo
或printf
。