Sobre lectura de consola cuando la entrada estándar es redirigida

Descripción del Problema:
A raíz de la tarea 1 del año 2008 surge el problema de cómo leer desde consola cuando el programa de script ha sido ejecutado para tomar datos desde un archivo en lugar de teclado. En particular se deseaba detener el programa en una parte y dar continuidad al script por medio de retorno en teclado. Si la entrada ya fue redireccionada ¿cómo leemos de teclado?

Es posible que haya varias soluciones, presento aquí una. En UNIX (y ha sido adoptado por sus derivados) existe un archivo especial del sistema para indicar nuestro terminal, es el /dev/tty. Este archivo representa el terminar actual del usuario. Así podemos escribir en un programa script:
read linea < /dev/tty
Con esto nos aseguramos que la lectura de "linea" será tomada desde el teclado independientemente de alguna redirección previa de la entrada estándar.

Así para atender el problema descrito podemos:
1. Leer desde entrada estándar para cumplir con el requerimiento del script (que corresponderá a la lectura de un archivo de datos),
2. cuando llegamos al punto donde deseamos parar, ejecutamos:
read -p "presione retorno para continuar:" linea < /dev/tty
3. Luego podemos continuar con nuestro script.

Agustín
Sept. 2008.