如何向 Ansible 变量 mailbody
添加新行“\n”字符
我将以下变量设置为 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”,而不是新行
。
您能否建议需要进行哪些更改?
最佳答案
请尝试这样的事情:
正如我在评论中分享的文档中所述“单引号和双引号之间的区别在于,在双引号中您可以使用转义符:foo:“a\t TAB and a\n NEWLINE”
所以
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 的双引号。
关于string - 如何向 Ansible 变量添加新行 "\n"字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62174128/