lip*_*l10 2 ansible ansible-playbook ansible-2.x
我试图替换文件中的一个字符串.例如:
$PASSWORD="oldpassword"
Run Code Online (Sandbox Code Playgroud)
有:
$PASSWORD="newpassword"
Run Code Online (Sandbox Code Playgroud)
这是应该执行此操作的Ansible任务:
- name: change password with lineinfile
lineinfile:
dest: test.txt
regexp: '^$PASSWORD='
line: '^$PASSWORD="newpassword"'
state: present
backrefs: yes
Run Code Online (Sandbox Code Playgroud)
不幸的是我找不到它不工作的原因.我无法用新字符串替换它.
我也没有尝试,backrefs
并添加了字符串而不是替换.
请指教.谢谢.
从正则表达式操作:
$:匹配字符串的结尾或在字符串末尾的换行符之前
所以,$
用反斜杠逃脱.
- lineinfile:
dest: /tmp/test.txt
regexp: '^\$PASSWORD='
line: '$PASSWORD="newpassword"'
state: present
Run Code Online (Sandbox Code Playgroud)
此外,您不需要backrefs
在示例中使用该参数,因为您的正则表达式没有反向引用.