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?
\nsu 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"
\ndi 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)