Проблема со значением сопоставления Ansible при использовании модуля echo

#ansible #ansible-2.x #ansible-inventory #ansible-facts

#ansible #ansible-2.x #ansible-инвентаризация #ansible-факты

Вопрос:

Я изучаю ansible и подаю в суд на команду командной оболочки, чтобы добавить параметр в файл конфигурации LDAP.

 echo -e "dn: cn=default, ou=policy, dc=com, dc=com n changetype: modify n replace: pwdMaxAge n pwdMaxAge: 0n" > /tmp/age.txt
  

Но ansible выдает ошибку, в которой говорится, что

 ERROR! Syntax Error while loading YAML.
  mapping values are not allowed here

 shell:  echo -e "dn:    cn=default,
                    ^
  

Любая помощь была бы оценена.

Ответ №1:

вам нужно заключить его в одинарную кавычку,

 shell: 'echo -e "dn: cn=default, ou=policy, dc=com, dc=com n changetype: modify n replace: pwdMaxAge n pwdMaxAge: 0n" > /tmp/age.txt'
  

Кроме того, поскольку вы изучаете, вы можете захотеть развернуть шаблон или скопировать файл вместо использования командной строки и перенаправления текста.