For the regex to match, you'll need to backslash-escape (with a single
backslash, since you're using single quotes) the dollar sign in your
insertafter regex.
But even if you do that, it isn't going to work. There are several
problems. First, each line that gets added will be added immediately after
the `insertafter` line, so the order will end up being backwards. Second,
there already is a "fi" line after "kill $pid" in DIPJobRunner.sh, so your
"fi" won't be added. (Which is just as well, since they're in the wrong
order anyway.
You can probably get what you want if you drop the with_items and change
"line:" like this:
line: "sleep 3; if [ -f $PIDFILE ] ; then kill -9 $pid ; fi"
On Tuesday, February 15, 2022 at 3:51:49 PM UTC-5 [email protected] wrote:
> HI All,
>
> i have a requirement to add a few lines after a particular match /
> keyword or string in a shell script . below code is for reference when i
> execute this code it is adding all the bold lines at the bottom . can you
> please help thank you
>
> - name: EDIT DIP Job Runner
> lineinfile:
> path: "{{ sas_config }}/{{ sas_config_level
> }}/Web/Applications/SASWIPSchedulingServices9.4/dip/DIPJobRunner.sh"
> state: present
> insertafter: 'kill $pid'
> line: "{{ item }}"
> with_items:
>
>
>
> * - sleep 3 - if [ -f $PIDFILE ]; then - kill -9 $pid - fi*
> become: true
> become_user: '{{ install_user.name }}'
> when: '"midtier" in group_names'
>
--
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 [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/ansible-project/e2bc78cc-33be-4ffd-ae4f-058aa0f24087n%40googlegroups.com.