Chcę zapisać do pliku niektóre wstępnie zdefiniowane teksty:
text="this is line one\n
this is line two\n
this is line three"
echo -e $text > filename
Spodziewam się czegoś takiego:
this is line one
this is line two
this is line three
Ale mam to:
this is line one
this is line two
this is line three
Jestem pewien, że po każdym nie ma miejsca \n
, ale jak powstaje dodatkowa przestrzeń?
\n
na każdej linii, już nacisnąłeś nową linię, aby przejść do nowej linii
\n
. Więc dlaczego wstawiłeś następny wiersz w nowym wierszu? Po prostutext="this is line one\nthis is line two\nthis is line three"
\n
na końcu każdego wiersza powoduje, że wszystkie dane wyjściowe działają razem w jednym wierszu.
"$text"
linii echa ma kluczowe znaczenie. Bez nich żadna z nowych linii (zarówno dosłowna, jak i „\ n”) nie działa. Z nimi wszyscy tak robią.
text="this is line one\nthis is line two\nthis is line three"
ten sam wiersz ..? (bez żadnego wpisu)