Diverso da $'\n' puoi usare printf anche così:
VARIABLE="Foo Bar"
VARIABLE=$(printf "${VARIABLE}\nSomeData")
echo "$VARIABLE"
USCITA:
Foo Bar
SomeData
Una tecnica comune è:
nl='
'
VARIABLE="PreviousData"
VARIABLE="$VARIABLE${nl}SomeData"
echo "$VARIABLE"
PreviousData
SomeData
Comune anche per evitare che la stringa inizi inavvertitamente con una nuova riga:
VARIABLE="$VARIABLE${VARIABLE:+$nl}SomeData"
(L'espressione ${VARIABLE:+$nl} si espanderà in una nuova riga se e solo se VARIABLE è impostato e non vuoto.)
VAR="one"
VAR="$VAR.\n.two"
echo -e $VAR
Uscita:
uno.
.due
Prova $'\n' :
VAR=a
VAR="$VAR"$'\n'b
echo "$VAR"
mi dà
a
b