在 Ansible shell 模块中使用 'creates' arg
Using 'creates' arg in Ansible shell module
在 shell 模块中使用 "creates" 参数时,这可以是目录路径吗?还是必须是文件?
你为什么不自己试试呢?简短的回答是:是的,它可以是文件系统中可见的任何内容
---
- name: Test create arg of shell
hosts: localhost
tasks:
- name: Set up working area
shell: mktemp -d
register: workdir
- name: Working Area
debug:
msg: "{{ workdir }}"
- name: Create a file
shell: touch {{ workdir.stdout }}/test-file
args:
creates: "{{ workdir.stdout }}/test-file"
- name: "Test if it get's created again"
shell: touch {{ workdir.stdout }}/test-file
args:
creates: "{{ workdir.stdout }}/test-file"
- name: Create a directory
shell: mkdir {{ workdir.stdout }}/test-directory
args:
creates: "{{ workdir.stdout }}/test-directory"
- name: "Test if it get's created again"
shell: mkdir {{ workdir.stdout }}/test-directory
args:
creates: "{{ workdir.stdout }}/test-directory"
- name: Cleanup
shell: "rm -rf {{ workdir.stdout }}"
# vim: set ts=2 sts=2 fenc=utf-8 list:
在 shell 模块中使用 "creates" 参数时,这可以是目录路径吗?还是必须是文件?
你为什么不自己试试呢?简短的回答是:是的,它可以是文件系统中可见的任何内容
---
- name: Test create arg of shell
hosts: localhost
tasks:
- name: Set up working area
shell: mktemp -d
register: workdir
- name: Working Area
debug:
msg: "{{ workdir }}"
- name: Create a file
shell: touch {{ workdir.stdout }}/test-file
args:
creates: "{{ workdir.stdout }}/test-file"
- name: "Test if it get's created again"
shell: touch {{ workdir.stdout }}/test-file
args:
creates: "{{ workdir.stdout }}/test-file"
- name: Create a directory
shell: mkdir {{ workdir.stdout }}/test-directory
args:
creates: "{{ workdir.stdout }}/test-directory"
- name: "Test if it get's created again"
shell: mkdir {{ workdir.stdout }}/test-directory
args:
creates: "{{ workdir.stdout }}/test-directory"
- name: Cleanup
shell: "rm -rf {{ workdir.stdout }}"
# vim: set ts=2 sts=2 fenc=utf-8 list: