我正在尝试为{{ips}}变量中的每个值向/ etc / exports添加行,而不是将它们都放在同一行。
我尝试了几种不同的方法,包括lineinfile,blockinfile和replace,这使我比其他人更接近我,但我仍然无法获得想要的结果。
对于某些服务器,我以这种格式添加了它们
/foo/bar server1.com (rw,sync,no_root_squash)
/foo/bar server2.com (rw,sync,no_root_squash)
/foo/bar server3.com (rw,sync,no_root_squash)
使用此代码。
- name: Add New server to /etc/exports
lineinfile:
path: /etc/exports
insertafter: "# This Line"
line: "/foo/bar {{ item }}(rw,sync,no_root_squash)"
loop: "{{ ips.split(',') }}"
对于其他服务器,我需要使用这种格式的服务器,但似乎无法正常工作。
/foo/bar server1(rw,sync,no_root_squash) server2(rw,sync,no_root_squash) server3(rw,sync,no_root_squash)
答案 0 :(得分:0)
我想出了一种方法来获得想要的东西。如果有人知道更好的方法,我很乐意接受建议,但是到目前为止,它是可行的。
- name: Add Servers to /etc/exports
lineinfile:
path: /etc/exports
insertafter: "# This Line"
line: "/foo/bar {{ ips.split(',') | join('(rw,sync,no_root_squash) ') }}(rw,sync,no_root_squash)"
这会将服务器以这种格式添加到ips变量中
/foo/bar server1(rw,sync,no_root_squash) server2(rw,sync,no_root_squash) server3(rw,sync,no_root_squash)