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

Redirección de entrada-salida

Al procedimiento de redirigir las conexiones desde su configuración de partida (ver figura [*]) se le denomina redireccionamiento. Comencemos con la redirección desde-hacia archivos.

mandato < archivo Conecta la entrada estándar de un mandato con un archivo.

De esta forma, cualquier mandato que recibe sus datos desde el teclado se puede conectar con un archivo. Por ejemplo, supongamos que tenemos un archivo con unas cuantas líneas, denominado ejemplo:

cat < ejemplo Muestra en pantalla los contenidos del canal de entrada, que se encuentra asociado al archivo ejemplo.
sort < ejemplo Ordena lexicográficamente los contenidos del archivo anterior.
wc < ejemplo Cuenta las líneas, palabras y caracteres del archivo.

La redirección de la salida estándar es fácil también:

mandato > archivo Crea un archivo y se envía la salida del mandato
mandato 1> archivo (idem del anterior)
mandato >> archivo Añade al archivo la salida del mandato
mandato 1>> archivo (idem del anterior)

Así, no necesitamos programar la salida de datos hacia un archivo, dado que podemos hacerlo desde el shell de UNIX.

echo Hola > Hola Creamos el archivo Hola con una línea de contenido: Hola.
cat < ejemplo > dl.t Creamos el archivo dl.t a partir del archivo ejemplo.
wc dl.t > abc Crea el archivo abc con las cuentas del archivo dl.t.
wc dl.t 1> abc (idem del anterior)
wc dl.t >> abc ... si queremos mantener el contenido anterior del archivo abc.

Con la salida de error estándar podemos hacer algo parecido.

mandato 2> archivo Crea un archivo y se envía la salida de errores del mandato
mandato 2>> archivo Añade al archivo la salida de errores del mandato

Con lo que, si queremos, podemos guardar los mensajes de error de un mandato en un archivo normal.

wc no-existo 2> WC Suponemos que el archivo no-existo no existe
wc no-existo > WC 2>&1 (idem del anterior), pero: se conecta la salida estándar al archivo WC y la salida de errores a la salida estándar!!.
wc no-existo 2> WC 1>&2 (idem del anterior), pero: se conecta la salida de errores al archivo WC y la salida estándar a la salida de errores!!.

En el ejemplo anterior se ilustra cómo también podemos conectar stdout y stderr entre si. Cuidado, porque si cambiamos el orden de las redirecciones el shell se puede quejar.



Subsecciones
siguiente arriba anterior
Siguiente: Ejercicios Arriba: Redirección de los canales Anterior: Redirección de los canales
Cesar Llamas Bello 2001-01-09