Hier ist eine weitere Variante.
printf '%s\n' 'first line here' 'second line here'
Sie können eine beliebige Anzahl von Argumenten hinzufügen; printf
wiederholt den Formatstring, bis alle Argumente erschöpft sind.
printf '%s\n' '#!/bin/sh' \
'for x; do' \
' echo "Welcome to my script!"' \
'done' >script.sh
Das Zitieren der Variablen sollte ausreichen. In Ihrem Beispiel erhalten Sie jedoch doppelte Zeilenumbrüche.
printf "$text_content"