Ich denke, ich kann einen relativ grundlegenden Punkt in Bezug auf Shell übersehen. Die Ausgabe des Befehls ls trennt die Ausgabe standardmäßig durch Zeilenumbrüche, die Shell zeigt die Ausgabe jedoch in einer einzelnen Zeile an.
Kann mir das jemand erklären? Ich hatte immer angenommen, dass die Ausgabe einfach durch Leerzeichen getrennt ist, aber jetzt, da ich die Ausgabe durch Zeilenumbrüche getrennt sehe, würde ich erwarten, dass die Ausgabe in separaten Zeilen angezeigt wird.
Beispiel:
cpoweradm@debian:~/lpi103-4$ ls text*
text1 text2 text3
od zeigt an, dass die Ausgabe durch Zeilenumbrüche getrennt ist:
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
Wenn Zeilenumbrüche vorhanden sind, wird die Ausgabe dann nicht wie folgt angezeigt:
text1
text2
text3
ls
. Es ist nützlich, aber eindeutig inkonsistent und überraschend. Beachten Sie jedoch, dass einige Befehle, die eine farbige Ausgabe erzeugen, die Farben auch bei der Pipe-Verarbeitung entfernen.