我需要帮助修复正则表达式。它在写入输出文件后删除前面的空格。这是代码
hosts: serv1
tasks:
- name: Rename VM hostname
block:
- command: hostname -f
register: result
- lineinfile:
path: /home/home/setup.yml
state: present
regexp: 'URL: (.*)$'
line: "URL: 'https://{{ result.stdout }}/key/auth'"
预期输出是
KEY_USER: ‘KEY_ADMIN'
KEY_PASS: “KEY_PASS"
URL: 'https://serv1/key/auth'
KEY_CLIENT: “CLIENT_KEY"
LDAP_URL: ‘LDAP_URL'
但我明白
KEY_USER: ‘KEY_ADMIN'
KEY_PASS: “KEY_PASS"
URL: 'https://serv1/key/auth'
KEY_CLIENT: “CLIENT_KEY"
LDAP_URL: ‘LDAP_URL'
有办法修复吗?谢谢
答案1
正则表达式没有删除空格。您删除了它们。
您写道,替换行不应该有任何前导空格:
line: "URL: 'https://{{ result.stdout }}/key/auth'"
如果您需要前导空格,则需要将其放入。它可能看起来像这样:
line: " URL: 'https://{{ result.stdout }}/key/auth'"