Skąd takie polecenia ls
wiedzą, co to jest standardowe wyjście?
Wygląda na ls
to, że działa inaczej w zależności od tego, co jest docelowe. Na przykład, jeśli zrobię:
ls /home/matt/tmp
wynik to:
a.txt b.txt c.txt
Jeśli jednak to zrobię
ls /home/matt/tmp | cat
wynikiem jest (tj. nowa linia na wynik):
a.txt
b.txt
c.txt
Proces jest przekazywany deskryptorowi pliku 1 dla standardowego wejścia, prawda? Jak określa sposób sformatowania wyniku? Czy deskryptor pliku ujawnia informacje?