Discussion:
[ansible-project] How do I properly escape a colon in a lineinfile string
Dave Thacker
2015-07-27 14:40:11 UTC
Permalink
I want to add an alias to the end of my /etc/aliases file.

I've tried

action: lineinfile dest="/etc/aliases" backup=yes state=present
insertafter=EOF line="root\: ***@example.com"

action: lineinfile dest="/etc/aliases" backup=yes state=present
insertafter=EOF line='root: ***@example.com'

I'm tripping on the colon after root.

Thanks in advance

DT
--
You received this message because you are subscribed to the Google Groups "Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ansible-project+***@googlegroups.com.
To post to this group, send email to ansible-***@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/706928ea-0a34-4551-80aa-10804ab4091e%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Dave Thacker
2015-07-27 18:38:25 UTC
Permalink
Another attempt and full error message
- name: add email alias to /etc/alias
action: lineinfile dest="/etc/aliases" backup=yes state=present
insertafter=EOF line="root':' ***@example.com"

results in

# Person who should get root's mail
#root: marc
root':' ***@example.com

which is nicely quoted but not correct.

DT
Post by Dave Thacker
I want to add an alias to the end of my /etc/aliases file.
I've tried
action: lineinfile dest="/etc/aliases" backup=yes state=present
action: lineinfile dest="/etc/aliases" backup=yes state=present
I'm tripping on the colon after root.
Thanks in advance
DT
--
You received this message because you are subscribed to the Google Groups "Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ansible-project+***@googlegroups.com.
To post to this group, send email to ansible-***@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/9f42e504-1d19-455e-b348-4407f21fd191%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Dave Thacker
2015-07-27 18:41:28 UTC
Permalink
Sorry,
Error message is as follows.

ERROR: Syntax Error while loading YAML script, prdscmappl01
Note: The error may actually appear before this position: line 28, column 95

- name: add email alias to /etc/alias
action: lineinfile dest="/etc/aliases" backup=yes state=present
insertafter=EOF line="root: ***@example.com"

^
This one looks easy to fix. There seems to be an extra unquoted colon in
the line
and this is confusing the parser. It was only expecting to find one free
colon. The solution is just add some quotes around the colon, or quote the
entire line after the first colon.

For instance, if the original line was:

copy: src=file.txt dest=/path/filename:with_colon.txt

It can be written as:

copy: src=file.txt dest='/path/filename:with_colon.txt'

Or:

copy: 'src=file.txt dest=/path/filename:with_colon.txt'
Post by Dave Thacker
Another attempt and full error message
- name: add email alias to /etc/alias
action: lineinfile dest="/etc/aliases" backup=yes state=present
results in
# Person who should get root's mail
#root: marc
which is nicely quoted but not correct.
DT
Post by Dave Thacker
I want to add an alias to the end of my /etc/aliases file.
I've tried
action: lineinfile dest="/etc/aliases" backup=yes state=present
action: lineinfile dest="/etc/aliases" backup=yes state=present
I'm tripping on the colon after root.
Thanks in advance
DT
--
You received this message because you are subscribed to the Google Groups "Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ansible-project+***@googlegroups.com.
To post to this group, send email to ansible-***@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/59edc815-8c8b-445f-a106-732664ee09ba%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Larry Smith
2015-07-27 20:28:50 UTC
Permalink
Colons need to be added like so....
insertafter=EOF line="root: ***@example.com"
would be as below
Post by Dave Thacker
Sorry,
Error message is as follows.
ERROR: Syntax Error while loading YAML script, prdscmappl01
Note: The error may actually appear before this position: line 28, column 95
- name: add email alias to /etc/alias
action: lineinfile dest="/etc/aliases" backup=yes state=present
^
This one looks easy to fix. There seems to be an extra unquoted colon in
the line
and this is confusing the parser. It was only expecting to find one free
colon. The solution is just add some quotes around the colon, or quote the
entire line after the first colon.
copy: src=file.txt dest=/path/filename:with_colon.txt
copy: src=file.txt dest='/path/filename:with_colon.txt'
copy: 'src=file.txt dest=/path/filename:with_colon.txt'
Post by Dave Thacker
Another attempt and full error message
- name: add email alias to /etc/alias
action: lineinfile dest="/etc/aliases" backup=yes state=present
results in
# Person who should get root's mail
#root: marc
which is nicely quoted but not correct.
DT
Post by Dave Thacker
I want to add an alias to the end of my /etc/aliases file.
I've tried
action: lineinfile dest="/etc/aliases" backup=yes state=present
action: lineinfile dest="/etc/aliases" backup=yes state=present
I'm tripping on the colon after root.
Thanks in advance
DT
--
You received this message because you are subscribed to the Google Groups "Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ansible-project+***@googlegroups.com.
To post to this group, send email to ansible-***@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/b63e2aa8-e2ed-4691-9aaa-feca208ca818%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Loading...