Ansible-如何在CentOS中添加/修改路径变量?

Ansible-如何在CentOS中添加/修改路径变量?,centos,ansible,Centos,Ansible,我正在尝试将/usr/pgsql-10/bin添加到$PATH,因为我希望使用机器的每个人都能够运行psql命令 试着效仿: - name: add {{extra_path}} to path lineinfile: dest: /etc/environment state: present backrefs: yes regexp: 'PATH=(["]*)((?!.*?{{extra_path}}).*?)(["]*)$' line: "PATH

我正在尝试将
/usr/pgsql-10/bin
添加到
$PATH
,因为我希望使用机器的每个人都能够运行
psql
命令

试着效仿:

- name: add {{extra_path}} to path
  lineinfile:
    dest: /etc/environment
    state: present
    backrefs: yes
    regexp: 'PATH=(["]*)((?!.*?{{extra_path}}).*?)(["]*)$'
    line: "PATH=\1\2:{{extra_path}}\3"
首先,我不太明白我应该如何准确地修改它。 我应该用我的路径(
/usr/pgsql-10/bin
)只替换
额外路径
还是整个
{{{extra\u path}}

我尝试了两种方法,但都出现了不同的错误。
更糟糕的是,我的
/etc/environment
甚至不包含
路径

仅声明其他路径

vars:
额外路径:/usr/pgsql-10/bin
下面的任务,基于的想法,似乎是可行的

-name:“如果路径不存在,则添加{{extra_path}”
线条填充:
路径:/etc/environment
行:“PATH=“{extra_PATH}}”
插入者:EOF
当:查找('file','/etc/environment')不是搜索('^\s*PATH\s*=')时
-名称:“将{{extra_path}}添加到路径”
线条填充:
路径:/etc/environment
regexp:'PATH=([“])((?!.?{{{extra_PATH}})。*?)([“])$'
行:'PATH=\1\2:{{extra\u PATH}}\3'
背景参考:是的
当:lookup('file','/etc/environment')是search('^\s*PATH\s*=')时

(非常感谢你,它确实起了作用。我所做的唯一不同的事情是在
-name