我有这种重复的模式::
- stat: path={{ home }}/.vimrc
register: st
- copy: src=.vimrc dest={{ home }}/.vimrc
when: not st.stat.exists
- stat: path={{ home }}/.gitconfig
register: st
- copy: src=.vimrc dest={{ home }}/.gitconfig
when: not st.stat.exists
...
如何使用 with_items 获取大型列表?::
with_items:
- .vimrc
- .bashrc
- .profile
- .gitconfig
答案 0 :(得分:10)
有时你甚至不想复制文件,如果文件存在于目标计算机上,即使内容不同。然后你可以像这样使用(没有在你的场景中测试它,但我认为它会起作用)
- stat: path="{{ home }}/{{ item }}"
with_items:
- .vimrc
- .bashrc
- .profile
- .gitconfig
register: st
- copy: src="{{ item.item }}" dest="{{ home }}/{{ item.item }}"
with_items: "{{ st.results }}"
when: not item.stat.exists
希望能帮到你
答案 1 :(得分:3)
您可以使用force参数:
- copy: src={{ item }} dest={{ home }}/{{ item }} force=no
with_items:
- .vimrc
- .bashrc
- .profile
- .gitconfig
强制=仅当文件尚不存在时才写入文件。 我认为这正是你想要的。