如何将新行“ \ n”字符添加到Ansible变量中

问题描述 投票:0回答:1

如何将新行“ \ n”字符添加到Ansible变量mailbody

我将以下变量设置为ansible的邮件模块主体属性。

   - set_fact:
       mailbody: "{{ mailbody | default('') + 'PROFILE_NAME:' +  PROFILE_NAME ~ '\n\nSERVER_NAME:' + SERVER_NAME ~ '\n\nNODE_NAME:' +  NODE_NAME ~ '\n\n\n\n' }}"

但是电子邮件的正文显示为'\ n \ n',而不是new lines

您能否建议需要哪些更改?

string variables ansible newline ansible-facts
1个回答
0
投票

请尝试这样的事情:

如我在评论中分享的文档上所述:“单引号和双引号之间的区别在于,在双引号中可以使用转义符:foo:“ \ t TAB和\ n NEWLINE”

so

1。要尝试的第一件事:

mailbody: "{{ mailbody | default('') + 'PROFILE_NAME:' +  PROFILE_NAME ~}} {{ 'SERVER_NAME:' + SERVER_NAME ~ }}\n\n{{'NODE_NAME:' +  NODE_NAME ~ }}\n\n\n\n"

2。如果那样对您没有帮助:

mailbody: >
   "{{ mailbody | default('') + 'PROFILE_NAME:' +  PROFILE_NAME ~}}"
   "{{ 'SERVER_NAME:' + SERVER_NAME ~ }}"
   "{{'NODE_NAME:' +  NODE_NAME ~ }}"

3。如果仍然无法使用:

 mailbody: | 
     "{{ mailbody | default('') + 'PROFILE_NAME:' +  PROFILE_NAME ~}}"
     "{{ 'SERVER_NAME:' + SERVER_NAME ~ }}"
     "{{'NODE_NAME:' +  NODE_NAME ~ }}"

4。如果仍然无法解决,请尝试删除最后2和3的双引号。

© www.soinside.com 2019 - 2024. All rights reserved.