2013-08-30 12 views

risposta

16

Le nuove righe sono molto presenti nella variabile "$final_list". echo come questo con le doppie virgolette:

echo "$final_list" 
url1 
url2 
url3 

O un uso migliore printf:

printf "%s\n" "$final_list" 
url1 
url2 
url3 
+0

Grazie. Puoi spiegare un po 'cosa sta succedendo. –

+3

La quotazione è della massima importanza nelle shell Unix. Senza virgolette la shell non applica alcuna regola di espansione e considera le nuove linee come spazio. – anubhava

+3

Senza le virgolette, qualsiasi spazio bianco (incluse le nuove linee) nell'espansione di $ final_list viene trattato come separatore di parole, non come caratteri letterali da stampare. 'echo' riceve solo 3 argomenti, gli URL effettivi. Con le virgolette, 'echo' riceve un singolo argomento, la stringa che contiene gli URL e le nuove linee che li separano. – chepner

2

Esso può dipendere da come si sta cercando di visualizzare il risultato finale. Prova a fornire la variabile risultante tra virgolette:

echo "$final_list"