Ansible lineinfile转义特殊字符

Ansible lineinfile escape special characters

我正在尝试使用 ansible 替换远程文件中的一行。

这是一个 php 文件,包含:

'cache' => true,

我尝试了很多不同的解决方案,但没有一个奏效。我觉得我离得太近了,但我做不到。请你帮助我好吗? 这就是我所做的:

lineinfile: "dest=/home/ubuntu/www/2.5.0/app/config/preprod/app.php regexp=^\'cache\'=> line=\'cache\' => {{ var }}"

var要么是真要么是假,是通过命令行设置的参数。输出显示添加了一行。但这不是我想要的。提前谢谢你。

避免在复杂的情况下使用param=value,改用dict风格,这样更容易阅读:

 - lineinfile:
     dest: "/home/ubuntu/www/2.5.0/app/config/preprod/app.php"
     regexp: "^'cache' =>"
     line: "'cache' => {{ var | string | lower }},"