Как насчет того, чтобы отключить подстановку параметров в документе здесь -? (См. Пример 19 -7 на сайте www.tldp.org для получения дополнительной информации.)
Возможно, ваш скрипт будет выглядеть лучше, (хотя он все еще довольно плотный):
su "$uname" -c "cat > ~/scripts/syncdownloads.sh << 'ENDMASTER'
###### Using `$()` to create a sub shell so that we don't have to escape
###### special characters.
$(
###### The parameter substitution is on here
cat <
Таким образом, вам не придется ни от чего убегать.
Вы можете запустить команду оболочки через ansible.
- name: suspend "{{ ansible_hostname }}"
command: systemctl suspend
Как их снова разбудить :Разбудить -По -Локальной сети?