Sto scrivendo uno script di shell che memorizzerà l'output di un comando in una variabile, elaborerà l'output e in seguito farà eco ai risultati. Ecco quello che ho:Il contenuto della stampa di script della shell di una variabile contenente l'output di un comando rimuove i caratteri di nuova riga
stuff=$(diff -u pens tape)
# process the output
echo $stuff
Il problema è che l'uscita che ricevo da l'esecuzione dello script è questo:
--- pens 2009-09-27 10:29:06.000000000 -0400 +++ tape 2009-09-18 16:45:08.000000000 -0400 @@ -1,4 +1,2 @@ -highlighter -marker -pencil -POSIX +masking +duct
Mentre mi aspettavo questo:
--- pens 2009-09-27 10:29:06.000000000 -0400
+++ tape 2009-09-18 16:45:08.000000000 -0400
@@ -1,4 +1,2 @@
-highlighter
-marker
-pencil
-POSIX
+masking
+duct
E ' sembra che i personaggi di nuova riga siano stati rimossi in qualche modo. Come faccio a farglielo dire?
Jonathan ha ragione. La ragione per cui la shell rimuoverà altrimenti lo spazio bianco per te .. –