Fix quoting issues in lineinfile for individual single-quotes
Fixes #8806
This commit is contained in:
parent
732b6f0a23
commit
ab5e8201f4
1 changed files with 7 additions and 2 deletions
|
@ -369,14 +369,19 @@ def main():
|
|||
# so we need to know if we should specifically unquote it.
|
||||
should_unquote = not is_quoted(line)
|
||||
|
||||
# always add one layer of quotes
|
||||
line = "'%s'" % line
|
||||
|
||||
# Replace escape sequences like '\n' while being sure
|
||||
# not to replace octal escape sequences (\ooo) since they
|
||||
# match the backref syntax.
|
||||
if backrefs:
|
||||
line = re.sub(r'(\\[0-9]{1,3})', r'\\\1', line)
|
||||
line = module.safe_eval(pipes.quote(line))
|
||||
line = module.safe_eval(line)
|
||||
|
||||
# Now remove quotes around the string, if needed
|
||||
# Now remove quotes around the string, if needed after
|
||||
# removing the layer we added above
|
||||
line = unquote(line)
|
||||
if should_unquote:
|
||||
line = unquote(line)
|
||||
|
||||
|
|
Loading…
Reference in a new issue