我有几个可用于设置多个配置目录的 ansible 角色任务。问题是我有一个配置列表,需要使用特定路径进行设置,但前提是它们不存在。
- name: Ensure core configuration directories exist.
shell: "cp -r {{ service_install_path }}/conf/ {{ service_home }}/{{ item }}.conf.d"
when:
- "item in conf_indexes_current.content"
- "not {{ service_home }}/{{ item }}.conf.d.stat.exists"
with_items: "{{ conf_dirs }}"
然而问题是你不能统计这样的路径:
- "not {{ service_home }}/{{ item }}.conf.d.stat.exists"
我得到的错误是:
条件检查 'not {{ service_home }}/{{ item }}.conf.d.stat.exists' 失败。错误是:意外的“/”第 1 行
有没有办法设置一个动态变量完整路径然后测试它?看来我也不能在这里设定一个事实。
[更新]:刚刚阅读另一个问题,试图用一个非常相似的循环概念做一些事情。此时简单地使用 shell 脚本/模板是正确的方法吗?