Как заставить Ansible сохранять только ссылки, определенные в списке, и удалять другие ссылки?

Mi problema en realidad no estaba en el código en el que intentaba establecer la ruta a "$MY_DIR/bin:$PATH", sino en un script diferente que estaba obteniendo en mi .zshrc. Estoy usando un script personalizado para configurar mi indicador de shell en el que usé una variable declarada como path, pensando que no entraría en conflicto con la variable de entorno PATH, pero, como señaló @Adaephon en los comentarios, zsh sincroniza bidireccionalmente la palabra clave pathcon PATH.

Por lo tanto, para mí, la solución fue cambiar el nombre de la variable en mi función de solicitud acur_path(o similar ). Intentar definir la variable comolocal pathresultará en un error de segmento .

2
08.11.2017, 18:40
1 ответ

Для этой цели я использую фильтр разности Jinja. Добавьте задачу, чтобы просмотреть содержимое вашего каталога конфигурации и зарегистрировать результат в переменной. Затем добавьте задачу, которая удаляет недопустимые элементы из каталога конфигурации, находя разницу между вашим списком допустимых файлов и теми, которые были найдены на предыдущем шаге :

.
- name: Get contents of config directory
  command: ls "{{ remote_cfg_dir }}"
  register: cfg_dir_contents
- name: Remove invalid files from config directory
  file:
    dest: "{{ remote_cfg_dir }}/{{ item }}"
    state: absent
  loop: "{{ cfg_dir_contents.stdout_lines | difference(sites_enabled) }}"

(Предполагается, что «сайты _включены» — это просто список имен файлов, которые должны существовать в «удаленном _cfg _каталоге»)

0
27.01.2020, 22:35

Теги

Похожие вопросы