ansible, пробелы в переменных командной строки

Я собираюсь поднять список изменений многих локально разработанных пакетов debian. Я использую "Ansible" для вызова " dch " из пакета devscripts. Я использую Ansible, потому что у меня уже есть пути subversion к пакетам, перечисленным в переменной Ansible. Я хотел бы иметь возможность вводить фактическое сообщение журнала изменений в качестве переменной командной строки, но кажется, что ansible не может анализировать пробелы в переменных, введенных в командной строке.

Я пробовал

ansible-playbook tag_changelog_on_packages.yml -e changelog_message="testing testing"
ansible-playbook tag_changelog_on_packages.yml -e changelog_message='testing testing'
ansible-playbook tag_changelog_on_packages.yml -e changelog_message=testing testing
ansible-playbook tag_changelog_on_packages.yml -e changelog_message="testing testing"

во всех случаях я получаю только первое "испытание" . Последняя попытка делает ansible сбой с ValueError: No escaped character вероятно, потому, что пробелы удалены.

Я что-нибудь пропустил ?

Ура

1 ответов


это потому, что он сначала обрабатывается оболочкой, которая съедает кавычки и обратные косые черты, которые вы использовали.

вы можете заключить весь аргумент в одинарные кавычки, которые говорят shell не трогать то, что внутри. Затем значение переменной может быть заключено в двойные кавычки, которые останутся там ансибл.

ansible-playbook tag_changelog_on_packages.yml -e 'changelog_message="testing testing"'