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"'