gpt4 book ai didi

ansible - 如何使用 Ansible 检查给定目录是否为空?

转载 作者:行者123 更新时间:2023-12-03 23:12:34 25 4
gpt4 key购买 nike

我正在尝试实现一个角色,该角色在继续执行剧本的其余部分之前检查给定目录是否为空。

我已经尝试过这段代码,但出现错误,我不确定正确的实现。

- name: Check if d folder is empty before proceeding
find:
paths: c/d/
patterns: "*.*"
register: filesFound

- fail:
msg: The d folder is not empty.
when: filesFound.matched > 0

- debug:
msg: "The d folder is empty. Proceeding."

这是我得到的错误:
fatal FAILED! =>
{"changed": false,
"module_stderr": "Exception calling \"Create\" with \"1\" argument(s):
\"At line:4 char:21
def _ansiballz_main():
An expression was expected after '('.
At line:12 char:27
except (AttributeError, OSError):
Missing argument in parameter list.
At line:14 char:7
if scriptdir is not None:
Missing '(' after 'if' in if statement.
At line:21 char:7
if sys.version_info < (3,):
Missing '(' after 'if' in if statement.
At line:21 char:30
if sys.version_info < (3,):
Missing expression after ','.
At line:21 char:25
if sys.version_info < (3,):
The '<' operator is reserved for future use.
At line:23 char:32
MOD_DESC = ('.py', 'U', imp.PY_SOURCE)
Missing expression after ','.
At line:23 char:33
MOD_DESC = ('.py', 'U', imp.PY_SOURCE) Unexpected token 'imp.PY_SOURCE' in expression or statement.
At line:23 char:32
MOD_DESC = ('.py', 'U', imp.PY_SOURCE)
Missing closing ')' in expression.
At line:23 char:46
MOD_DESC = ('.py', 'U', imp.PY_SOURCE)
Unexpected token ')' in expression or statement.
Not all parse errors were reported. Correct the reported errors and try again.\"
At line:6 char:1
$exec_wrapper = [ScriptBlock]::Create($split_parts[0])
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
CategoryInfo : NotSpecified: (:) [], MethodInvocationException\r\n + FullyQualifiedErrorId : ParseException\r\n \r\nThe expression after '&' in a pipeline element produced an object that was not valid. It must result in a command
name, a script block, or a CommandInfo object.
At line:7 char:2
&$exec_wrapper
~~~~~~~~~~~~~\
+ CategoryInfo : InvalidOperation: (:) [], RuntimeException
+ FullyQualifiedErrorId : BadExpression
", "module_stdout": "", "msg": "MODULE FAILURE
See stdout/stderr for the exact error", "rc": 1}

最佳答案

你是在正确的方式,但正如 @HermanTheGermanHesse 提到的,有一个缩进错误,试试这个:

- name: Check if d folder is empty before proceeding
find:
paths: 'c/d/'
register: filesFound

- fail:
msg: 'The d folder is not empty.'
when: filesFound.matched > 0

- debug:
msg: 'The d folder is empty. Proceeding.'

关于ansible - 如何使用 Ansible 检查给定目录是否为空?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56478867/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com