1
我有一对夫妇的检查目录上今天的日期创建的文件并保存它们files
任务的ansible剧本。我正在比较files|length
,并根据长度是否为0打印出两条不同的消息。没有评估Ansible条件语句正确
下面是代码:
- name: Grabbing all of the files that were created today
shell: find /home/user/empty_directory -maxdepth 1 -daystart -ctime 0 -print
register: files
- debug: var=files.stdout
- debug: msg="The directory isn't empty"
when: files|length != 0
- debug: msg="The directory is empty"
when: files|length == 0
继承人的输出:
TASK [debug]
ok: [server] => {
"changed": false,
"files.stdout": ""
}
TASK [debug]
ok: [server] => {
"changed": false,
"msg": "The directory isn't empty"
}
TASK [debug]
skipping: [server] => {"changed": false, "skip_reason": "Conditional result was False", "skipped": true}
有没有办法,我提出这是造成条件语句错误地评估错了吗?因为基于切断输出files
的,其实是空的
我已经试过了没有|length
,做我比较过的files == ""
& files != ""
,得到了相同的结果。
任何建议,非常感谢。
你所检查的'文件| length',而不是'files.stdout | length'。请注意,'文件'还包含一些其他变量,所以它绝对不是空的 – SztupY
@SztupY - 感谢您的帮助!你的建议奏效了。如果你把它作为答案发布,我会投它一票 –