我正在尝试将路径部分替换或附加到 Linux 机器上 /etc/environment 中的路径定义。
这是我所拥有的:
//all.yml
my_path: "/usr/bin:/usr/sbin"
my_extra_path: "/usr/extra/path"
Run Code Online (Sandbox Code Playgroud)
在我的角色文件中:
//updatePath.yml
- name: update /etc/environment
lineinfile:
dest=/etc/environment
state=present
backrefs=yes
regexp='PATH=({{ my_path }}:?)?({{ my_extra_path }}:?)?(.*)'
line='PATH={{ my_extra_path }}:{{ my_extra_path }}:\3'
Run Code Online (Sandbox Code Playgroud)
现在,当我运行该角色时,它可以很好地更新现有的 PATH 行,但不会在该行内创建重复项,甚至不会创建重复的行。到目前为止,一切都很好。
当没有包含“PATH=”的行时,我希望它添加一个新行。但事实并非如此。
是我的预期错误还是问题出在哪里?