salt file.directoy_exists 循环检查
salt file.directoy_exists check in a loop
正在尝试遍历文件夹列表以检查目录是否存在,然后清理该目录(删除所有文件)。
{% set FOLDERS_TO_CLEAN = ['C:\Test\Folder1'] %}
{% for FOLDER in FOLDERS_TO_CLEAN %}
{% if salt['file.directory_exists']({{ FOLDER }}) %}
{{ FOLDER }}_delete:
file.directory:
- name: {{ FOLDER }}
- clean: True
- failhard: True
{% endif %}
{% endfor %}
有问题的是第三行。变量 FOLDER 以语法错误结束,但是当我将其更改为我的测试字符串时,它起作用了。知道我可以更改什么以使其有效吗?
您需要在 if 语句中用单引号将 {{ FOLDER }} 括起来。
像这样:
{% set FOLDERS_TO_CLEAN = ['C:\Test\Folder1'] %}
{% for FOLDER in FOLDERS_TO_CLEAN %}
{% if salt['file.directory_exists']('{{ FOLDER }}') %}
{{ FOLDER }}_delete:
file.directory:
- name: {{ FOLDER }}
- clean: True
- failhard: True
{% endif %}
{% endfor %}
正在尝试遍历文件夹列表以检查目录是否存在,然后清理该目录(删除所有文件)。
{% set FOLDERS_TO_CLEAN = ['C:\Test\Folder1'] %}
{% for FOLDER in FOLDERS_TO_CLEAN %}
{% if salt['file.directory_exists']({{ FOLDER }}) %}
{{ FOLDER }}_delete:
file.directory:
- name: {{ FOLDER }}
- clean: True
- failhard: True
{% endif %}
{% endfor %}
有问题的是第三行。变量 FOLDER 以语法错误结束,但是当我将其更改为我的测试字符串时,它起作用了。知道我可以更改什么以使其有效吗?
您需要在 if 语句中用单引号将 {{ FOLDER }} 括起来。 像这样:
{% set FOLDERS_TO_CLEAN = ['C:\Test\Folder1'] %}
{% for FOLDER in FOLDERS_TO_CLEAN %}
{% if salt['file.directory_exists']('{{ FOLDER }}') %}
{{ FOLDER }}_delete:
file.directory:
- name: {{ FOLDER }}
- clean: True
- failhard: True
{% endif %}
{% endfor %}