如何在Ansible lineinfile模块中转义'#'注释字符?

时间:2015-05-09 23:13:21

标签: escaping yaml ansible

如何在Ansible的lineinfile模块中转义字符?

这是我要在服务器上插入的行:

EMAIL='hi@demo.com' # Server notification email address enter only 1 address

但是当我尝试以下操作时,由于YAML错误,Ansible拒绝解析它:

line="EMAIL='{{ email_address }}' # Server notification email address enter only 1 address"

我猜这是因为我有双引号,单引号,相等字符和英镑字符的奇怪组合。

2 个答案:

答案 0 :(得分:10)

问题确实是你的字符串中的.php - 无论出于何种原因。

虽然您可以通过使用此技巧轻松防止解析错误:

#

答案 1 :(得分:1)

对于较长的表单注释或可读性,您还可以添加注释vars:

name: Do something
vars:
  comment: '# Server notification email address enter only 1 address'
lineinfile:
  ...
  line="EMAIL='{{ email_address }}' {{ comment }}"