Ansible lineinfile转义特殊字符

问题描述:

我试图用ansible替换远程文件中的一行。Ansible lineinfile转义特殊字符

这是一个php文件,其中包含:

'cache' => true, 

我尝试了很多不同的解决方案,但没有一个奏效。我觉得我太靠近了,但我做不到。你可以帮我吗? 这是我做了什么:

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

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

避免使用复杂的情况下param=value,使用字典风格相反,它是一个更容易阅读:

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