Escaping ansible中的逃逸花括号

Escaping ansible中的逃逸花括号,escaping,ansible,brackets,Escaping,Ansible,Brackets,我试图替换文件中的{{var}},但不知道如何避开花括号 " {{ item.key }} " 当然替换item.key,但忽略{{}。要在我的文件中替换的变量如下所示: define ( 'DB_HOST', '{{ DB_HOST }}' ); 脚本的一部分: replace: dest=env.php.j2 regexp= " {{ item.key }} " << ?????? replace= " {{ item.value }} " 提前感谢。您不必自己替换变量。只

我试图替换文件中的{{var}},但不知道如何避开花括号

" {{ item.key }} "
当然替换item.key,但忽略{{}。要在我的文件中替换的变量如下所示:

define ( 'DB_HOST', '{{ DB_HOST }}' );
脚本的一部分:

replace:
dest=env.php.j2
regexp= " {{ item.key }} " << ??????
replace= " {{ item.value }} "

提前感谢。

您不必自己替换变量。只需使用
模板
模块:

template:
  src:  env.php.j2
  dest: "/path/to/final/destination"

Ansible/Jinja2将为您完成所有繁重的工作。

现在的问题是:为什么?Ansible中有Jinja2模板,正是出于此目的。你为什么试图手动复制它们?@techraf在我的工作中,包含要替换的变量的文件是这样写的,我无法更改。必须替换整个{{var}},我在问:为什么?Ansible是开箱即用的,你不需要替换任何东西。这是通过许多文件夹和位置来完成的,这就是为什么我首先要将文件“复制”到适当的文件夹,然后使用外部文件脚本尝试替换值。直到今天,我还可以使用我们的模板,模板上有{{}个变量。就我试过你们的方式,模板不能使用我的dict,这也是外部文件。
template:
  src:  env.php.j2
  dest: "/path/to/final/destination"