作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
可能之前已经有人问过这个问题,但目前还找不到任何有用的东西。
我有这个任务:
- name: Create folder if not exists
win_file:
path: '{{ folder }}'
state: directory
when: my_dir.stat.exists == false << this stat has been previously created
- Debug: msg"folder already exists"
如果我执行 Ans 中的输出。塔看起来像这样(文件夹已经存在):
TASK [playbook : Create folder if not exists] ***
17:51:00
23
skipping: [host]
TASK [playbook : debug] ***************************************
18:16:07
26
ok: [host] => {
27
"msg": "Folder already exists"
我希望此消息在创建文件夹任务中打印,而不是在单独的任务中打印。
帮助将不胜感激
最佳答案
我建议采用不同的策略:
- win_file:
...
register: create
- debug:
msg: Folder already exists
when: create.changed == false
这可能不适用于您的具体用例,但从给定的示例来看它是有意义的。 file
/win_file
已经检查自身是否存在文件/目录。
关于您的实际问题:我认为不可能将两个任务(win_file
和 debug
)放入一个任务中。如果您的目的是避免将条件写入两次,您可以使用 block :https://docs.ansible.com/ansible/latest/user_guide/playbooks_blocks.html
关于Ansible 剧本 : print a message,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53804697/
我是一名优秀的程序员,十分优秀!