Entrada estándar

A entrada estándar (STDIN) é un concepto típico dos sistemas operativos Unix.

Cada proceso nestas contornas adoita dispoñer de tres arquivos abertos ao comezo da súa execución: a entrada, a saída e a saída de erros. Adquiren carácter de estándar porque adoitan estar asignados a descritores de ficheiros coñecidos, de maneira que un programa sempre tomará os datos de entrada polo descritor cero, enviará os resultados polo un e mostrará os erros polo dous. Pero isto é mera convención, e non ten moito sentido en sistemas gráficos como X Window ou en programas funcionando como demos.

Unha forma de referirse a elas é usando, segundo a linguaxe de programación e a contorna letras maiúsculas ou minúsculas, os nomes STDIN, STDOUT e STDERR.

O shell do sistema é o encargado, xeralmente, de abrir esta entrada e conectala coa terminal á que está asignado o programa, posto que é o programa máis usual para comunicarse cun operador.

A entrada estándar tamén se adoita conectar á saída estándar dun proceso, de maneira que o programa lea directamente os resultados que outro produce. En Unix utilízase o carácter | para expresar devandito tipo de conexión:

$ programa1 | programa2 | programa3

O que vén significar que se executa o programa1 e a súa saída estándar (descriptor de ficheiro 1) conéctase coa entrada estándar do programa2 (descriptor 0), que á súa vez fai o mesmo con programa3.