如何在Ansible的文件末尾添加一个空行?

时间:2016-03-30 12:24:39

标签: ansible

如何使用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"

2 个答案:

答案 0 :(得分:1)

为什么要 insertbefore EOF?它应该是 insertafter EOF,这是默认值。以下应该有效。

  - lineinfile:
      dest: /mypath/myfile
      line: ''

答案 1 :(得分:1)

使用lineinfile模块无法在文件末尾可靠地添加空行。

lineinfile module旨在实现:

  

将在文件中搜索一行,并确保它存在或不存在。

实际上,如果文件中某处存在空行,则任务将成功通过而不会在末尾添加新行。

唯一可靠的方法是执行shell命令echoprintf