A standard error
Ha a parancsok hibaüzeneteiket a standard kimenetre írnák, akkor csővezetékbe kötött programoknál egyrészről nem lennének láthatóak a képernyőn (márpedig pont a figyelemfelhívás a funkciójuk), másfelől nem várt eredményeket adnának, amint más programok bemenetére kerülnének. Mindezek miatt a hibacsatornát a normál kimenettől eltérően kezeli a UNIX. A hibacsatorna alapértelmezés szerint szintén a képernyőhöz van rendelve, de akkor is úgy marad, ha a standard outputot átirányították. (Természetesen szükség esetén a standard error csatorna is átirányítható, csak éppen erről is explicit módon kell rendelkezni.)
Az alábbi példapárban a három összefűzött parancs közül a sort rossz opciót kapott, emiatt a terminálra ki is írta a hibaüzenetet, de a standard kimeneten keresztül láthatólag semmit nem adott át ebből a wc programnak, mert az, csövön keresztül kapva ugyanazt a kimenetet, 0 értéket mutat.
$ who | sort -X
sort: invalid use of command line options
$ who | sort -X | wc -l
sort: invalid use of command line options
0
$
Csövek elágaztatása: a tee parancs
A cső kapcsán még egy hasznos segédprogramról kell említést tenni, s ez a tee nevű program. A tee bemenetét szintén a standard inputról veszi, de kimenetét két helyre küldi; egyrészt a standard outputra, másrészt a paraméterként megnevezett állományba. Ez elsősorban programbelövéseknél igen hasznos szolgáltatás. A -a opció hatására a paraméterként megadott kimeneti állományt nem írja felül a tee, hanem hozzáfűzi az újabb kimeneti adatokat.
$ date | tee temp | wc -l
1
$ cat temp
Thu Mar 28 14:40:04 MET 1991
$