Hinzufügen eines NEW LINE-Zeichens zwischen Variablen

Hinzufügen eines NEW LINE-Zeichens zwischen Variablen

Wie kann ich zwischen zwei Unix-Variablen ein Neue-Zeile-Zeichen (\n) einfügen?

Ich habe Folgendes versucht, aber es wird in einer einzigen Zeile statt in separaten Zeilen gedruckt.

h=hello
w=world
c="$h"$'\n'"$w"
echo $c
Output: hello world

Antwort1

Ihre Lösung funktioniert, aber Sie müssen $cIhre Echo-Anweisung in Anführungszeichen setzen, damit sie wie gewünscht erweitert wird.

So was:

h=hello
w=world
c="$h"$'\n'"$w"
echo "$c"

Dies ist jedoch mit ziemlicher Sicherheit ein XY-Problem. Was müssen Sie letztendlich erreichen?

So wie es ist, wäre es viel besser, einfach Folgendes zu tun:

h=hello
w=world
printf '%s\n' "$h" "$w"

Alternativ können Sie die -eOption zum Echo verwenden:

h=hello
w=world
c="${h}\n${w}"
echo -e "$c"

verwandte Informationen