Woher ls
wissen Befehle wie , was ihre Standardausgabe ist?
Es scheint ls
unterschiedlich zu funktionieren, je nachdem, was das Ziel-Standard ist. Zum Beispiel, wenn ich:
ls /home/matt/tmp
Das Ergebnis ist:
a.txt b.txt c.txt
Wenn ich es aber tue
ls /home/matt/tmp | cat
Das Ergebnis ist (dh neue Zeile pro Ergebnis):
a.txt
b.txt
c.txt
Dem Prozess wird ein Dateideskriptor 1 für stdout übergeben, oder? Wie wird festgelegt, wie das Ergebnis formatiert wird? Zeigt der Dateideskriptor Informationen an?