Penso che potrei trascurare un punto relativamente fondamentale per quanto riguarda la shell. L'output del comando ls per impostazione predefinita separa l'output con le nuove righe, ma la shell visualizza l'output su una sola riga.
Qualcuno può spiegarmi questo? Avevo sempre presunto che l'output fosse semplicemente separato da spazi, ma ora che vedo l'output separato da newline, mi aspetto che l'output venga visualizzato su righe separate.
Esempio:
cpoweradm@debian:~/lpi103-4$ ls text*
text1 text2 text3
od mostra che l'output è separato da newline:
cpoweradm@debian:~/lpi103-4$ ls text* | od -c
0000000 t e x t 1 \n t e x t 2 \n t e x t
0000020 3 \n
0000022
Se sono presenti newline, perché l'output non viene visualizzato come:
text1
text2
text3
ls
. È utile, ma è chiaramente incoerente e sorprendente. Si noti tuttavia che alcuni comandi che producono output colorati rimuoveranno i colori anche quando vengono convogliati.