Ich möchte einige vordefinierte Texte in eine Datei schreiben, die Folgendes enthält:
text="this is line one\n
this is line two\n
this is line three"
echo -e $text > filename
Ich erwarte so etwas:
this is line one
this is line two
this is line three
Aber hab das:
this is line one
this is line two
this is line three
Ich bin mir sicher, dass nach jedem kein Platz mehr vorhanden ist \n
, aber wie kommt der zusätzliche Platz heraus?
\n
in jeder Zeile, Sie haben bereits die neue Zeile gedrückt, um zur neuen Zeile zu wechseln
\n
. Warum setzen Sie die nächste Zeile in eine neue Zeile? Einfachtext="this is line one\nthis is line two\nthis is line three"
\n
am Ende jeder Zeile entfernen , werden alle Ausgaben zusammen in einer einzelnen Zeile ausgeführt.
"$text"
ist entscheidend, doppelte Anführungszeichen in die Echolinie zu setzen. Ohne sie funktioniert keine der Zeilenumbrüche (sowohl wörtlich als auch '\ n'). Mit ihnen tun sie alle.
text="this is line one\nthis is line two\nthis is line three"
dieselbe Zeile eingeben würden? (ohne Eingabe)