Aquí hay otra variación.
printf '%s\n' 'first line here' 'second line here'
Puede agregar un número arbitrario de argumentos; printf
repetirá la cadena de formato hasta que se agoten todos los argumentos.
printf '%s\n' '#!/bin/sh' \
'for x; do' \
' echo "Welcome to my script!"' \
'done' >script.sh
Citar la variable debería hacer el truco. En su ejemplo, sin embargo, obtiene saltos de línea dobles.
printf "$text_content"