Voglio scrivere alcuni testi predefiniti in un file con il seguente:
text="this is line one\n
this is line two\n
this is line three"
echo -e $text > filename
Mi aspetto qualcosa del genere:
this is line one
this is line two
this is line three
Ma ottenuto questo:
this is line one
this is line two
this is line three
Sono sicuro che non c'è spazio dopo ciascuno \n
, ma come viene fuori lo spazio extra?
\n
su ogni riga, hai già colpito Newline per passare alla nuova riga
\n
. Quindi perché hai messo la riga successiva in una nuova riga? Semplicementetext="this is line one\nthis is line two\nthis is line three"
\n
di alla fine di ogni riga fa sì che l'output venga eseguito insieme su un'unica riga.
"$text"
linea dell'eco è cruciale. Senza di essi, nessuna delle newline (sia letterali che '\ n') funziona. Con loro, lo fanno tutti.
text="this is line one\nthis is line two\nthis is line three"
la stessa riga ..? (senza entrare)