siguiente arriba anterior
Siguiente: Ejercicios Arriba: Redirección de los canales Anterior: Ejercicios

Canalizaciones

Con las canalizaciones, se riza el rizo y se permite conectar también procesos entre si.

mandato | mandato2 Conecta la salida estándar de un mandato con la entrada estándar de otro mandato2.

Si queremos que la salida de error tambien vaya por la canalización debemos redirigirla mediante «2>&1». En este caso se mezclará con la información de stdout.

Lo bonito de esta construcción es que, cuando sea posible, los datos que va generando cada proceso se envían al siguiente sobre la marcha. Este es el caso de:

who -a | grep Juan

en donde se disparan los dos procesos a la vez, y según who -a proporciona líneas, grep Juan expurga aquellas que contienen la cadena Juan. Otro caso es cuando se inserta algún proceso donde se necesita toda la entrada para producir una salida con sentido, por ejemplo:

who -a | sort

donde el mandato sort va a necesitar que aparezcan todas las líneas para poder ordenar. En este caso, la canalización anterior pipe es equivalente a la siguiente secuencia.

who -a > quien-está-ahi
grep Juan < quien-está-ahi



Subsecciones

Cesar Llamas Bello 2001-01-09