salt file.directoy_exists检查循环

时间:2017-05-02 07:55:46

标签: salt salt-stack

尝试遍历文件夹列表以检查目录是否存在,然后清理该目录(删除所有文件)。

{% 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,最终会出现语法错误,但是当我将其更改为我的测试字符串时,它会起作用。知道我可以改变什么以便它起作用吗?

1 个答案:

答案 0 :(得分:2)

您需要在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 %}