Ansible 模板化字符串时出现模板错误:意外的字符可解析
在远程主机中执行playbook以运行命令并使用shell传递输出时,出现以下错误 致命:[master1]:失败!=>{}MSG:模板生成时出现模板错误 字符串:4处出现意外字符u'a'。字符串: {54AA7FDA16833BFF8358B6BD157DF2D9CAA26B2} 下面是我的剧本内容Ansible 模板化字符串时出现模板错误:意外的字符可解析,ansible,ansible-template,Ansible,Ansible Template,在远程主机中执行playbook以运行命令并使用shell传递输出时,出现以下错误 致命:[master1]:失败!=>{}MSG:模板生成时出现模板错误 字符串:4处出现意外字符u'a'。字符串: {54AA7FDA16833BFF8358B6BD157DF2D9CAA26B2} 下面是我的剧本内容 - name: 'Play1' hosts: master tasks: - name: 'Execute command' shell: ''sh gen
- name: 'Play1'
hosts: master
tasks:
- name: 'Execute command'
shell: ''sh generate_ticket.sh" #command to generate ticket
register: shell_output
- name: 'debug shell_output'
debug:
var="{{ shell_output.stdout | from_yaml }}"
当我尝试用msg进行同样的操作,并且不尝试过滤时,输出将被打印出来,没有任何错误。然而,我更喜欢使用var,因为它最适合我的进一步需求。如果票号是不同的字符串,我不会面临任何问题。请参阅下文:
输出:
ok: [master1] => {}
MSG:
54aa7fda16833bff8358b6bd1157df2d9caa26b2
Playbook :
- name: 'Play1'
hosts: master
tasks:
- name: 'Execute command'
shell: ''sh generate_ticket.sh" #command to generate ticket
register: shell_output
- name: 'debug shell_output'
debug: msg="{{ shell_output.stdout | from_yaml }}"
在
shell\u output.stdout
var=“{{'shell_output.stdout'| from_yaml}}”
如果有人有比这更好的办法,请告诉我