Остановить строку в одинарных кавычках, затем использовать расширение переменной, возможно, в двойных кавычках, и возобновить строку в одинарных кавычках:
--data '{"text": "'"$variable"'"}'
($variable
все же следует расширить до чего-то, что вместе с окружением образует допустимый JSON, иначе другая сторона, вероятно, будет не очень счастлива :).)
В приведенном вами примере вы можете использовать анкоры:
- name: Replace old ips in /etc/shorewall/rules
replace:
path: /etc/shorewall/rules
regexp: '(\D){{ oldip }}(\D)'
replace: '\1{{ newip }}\2'
backup: 'yes'
Поиск цифры, отличной от -, за которой следует старый IP-адрес, за которым следует еще одна цифра, отличная от -.
Заменить первой найденной цифрой, отличной от -, за которой следует новый IP-адрес и вторая группа захвата.
Если существует риск неправильной интерпретации обратных ссылок (, например, если ваш новый IP-адрес был жестко запрограммирован, а не в переменной ), используйте \g
, чтобы избежать путаницы между \1
и\1100
:
replace: '\g<1>100.100.100.100\2'