Ansible lineinfile转义特殊字符

时间:2016-08-15 16:53:05

标签: php regex yaml ansible ansible-playbook

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

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

'cache' => true,

我尝试了很多不同的解决方案但没人工作。我觉得我太近了但我做不到。请你帮助我好吗? 这就是我所做的:

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

var为true或false,是通过命令行设置的参数。输出显示我添加了一行。但这不是我想要的。提前谢谢。

1 个答案:

答案 0 :(得分:1)

避免在复杂情况下使用param=value,而是使用dict样式,它更容易阅读:

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