In che modo comandi simili lssanno qual è il suo stdout?
Sembra che lsfunzioni in modo diverso a seconda di quale sia lo stdout di destinazione. Ad esempio se lo faccio:
ls /home/matt/tmp
il risultato è:
a.txt b.txt c.txt
Comunque se lo faccio
ls /home/matt/tmp | cat
il risultato è (cioè nuova riga per risultato):
a.txt
b.txt
c.txt
Il processo è passato un descrittore di file 1 per stdout giusto? Come determina come formattare il risultato? Il descrittore di file rivela informazioni?