我想在测试中使用assert函数。
目标是检查它们是否是包含权限1500的某些文件和目录,如果是这种情况,我想显示消息 fail
- hosts: localhost
tasks:
- name: Check assertion
shell: find . -perm 1500
register: list_files_directories
- name: Check if file testfile.txt exists
assert:
that:
- mode =! '1500' in list_files_directories
经过多次测试后,找不到正确的语法来执行断言...
答案 0 :(得分:2)
使用find模块。例如,给定文件
shell> find . -perm 1500
./file2
以下任务
- find:
paths: .
register: result
- debug:
msg: "{{ result.files|json_query(query) }}"
vars:
query: "[?mode=='1500'].path"
提供权限为“ 1500”的文件列表
"msg": [
"file2"
]
要检查是否有权限为1500的文件和目录,请测试列表的长度
- assert:
that: result.files|json_query(query)|length > 0
vars:
query: "[?mode=='1500'].path"