我想将/usr/pgsql-10/bin
添加到$PATH
,因为我希望每个使用计算机的人都能够运行psql
命令。
尝试遵循this示例:
- 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"
首先,我不太了解如何正确修改此内容。
我应该将extra_path
还是整个{{extra_path}}
替换为路径(/usr/pgsql-10/bin
)。
我尝试了两种方式,但遇到了不同的错误。
更糟的是,我的/etc/environment
甚至没有包含PATH
。
答案 0 :(得分:1)
仅声明其他路径
vars:
extra_path: /usr/pgsql-10/bin
以下基于Response to updating PATH with ansible - system wide的想法的任务似乎可以正常工作
- name: 'Add {{ extra_path }} if PATH does not exist'
lineinfile:
path: /etc/environment
line: 'PATH="{{ extra_path }}"'
insertafter: EOF
when: lookup('file', '/etc/environment') is not search('^\s*PATH\s*=')
- name: 'Add {{ extra_path }} to PATH'
lineinfile:
path: /etc/environment
regexp: 'PATH=(["])((?!.*?{{ extra_path }}).*?)(["])$'
line: 'PATH=\1\2:{{ extra_path }}\3'
backrefs: yes
when: lookup('file', '/etc/environment') is search('^\s*PATH\s*=')
(相当reading。)