我需要用答案
lineinfile
模块以一种方式在可变路径上运行。(这适用于ansible 2.5.2。)在本例中,文件名应取决于实际安装在远程主机上的PostgreSQL版本(而不是硬接线版本9.6):
- lineinfile:
path: /etc/postgresql/9.6/main/postgresql.conf
regexp: '^#?\s*log_connections\s*='
line: 'log_connections = on'
state: present
在
bash
我将使用此表达式来获取版本和路径:
/etc/postgresq/$(pg_lsclusters -h | awk '{print $1}' | head -n 1)/main/postgresql.conf
它显然不能作为参数逐字工作
path
到Ansible的
线条输入
模块:
失败!=>“已更改”:false,“msg”:“目标”
/etc/postgresq/$(pg_lsclusters-h_awk'print$1'head-n
1)/main/postgresql.conf不存在!“,“rc”:257_
所以我的问题是:在这个用例中,如何用ansible形成一个变量路径?