Създавам playbook (разбира се, това е само първата команда, която ме прекъсва)
---
- hosts:
test_hosts
tasks:
- name: exec bash
command: "{{item}}"
with_items:
- "if [ -f ~/memlog_{{ inventory_hostname }}.txt ]; then rm ~/memlog_{{ inventory_hostname }}.txt; fi"
И има грешка:
changed: [hdp86] => (item=touch ~/memlog_hdp86.txt)
failed: [hdp86] (item=if [ -f ~/memlog_hdp86.txt ]; then rm ~/memlog_hdp86.txt; fi) => {"changed": false, "cmd": "if '[' -f /home/karmatskiyrg/memlog_hdp86.txt '];' then rm '/home/karmatskiyrg/memlog_hdp86.txt;' fi", "item": "if [ -f ~/memlog_hdp86.txt ]; then rm ~/memlog_hdp86.txt; fi", "msg": "[Errno 2] No such file or directory", "rc": 2}
Виждам: "item" са правилни - точно тази команда ми трябва. Но в атрибута "cmd" има допълнителни кавички. Мисля, че ме нарушава изпълнението на PB.
Защо се появи? И как се оправя?
Виж. Има структура на въпроса: 1. Имам команда. 2. Изпълнете го чрез команден модул. 3. Чупи се при всяка грешка. 4. Как да коригирате ТАЗИ грешка.