Tengo un script que se ejecutará de forma interactiva por usuarios no técnicos. El script escribe actualizaciones de estado en STDOUT para que el usuario pueda estar seguro de que el script se está ejecutando correctamente.¿Cómo consigo STDOUT y STDERR para ir al terminal y un archivo de registro?
Deseo que tanto STDOUT como STDERR se redirijan al terminal (para que el usuario pueda ver que la secuencia de comandos funciona y ver si hubo un problema). También quiero que se redirijan ambas secuencias a un archivo de registro.
He visto un montón de soluciones en la red. Algunos no funcionan y otros son terriblemente complicados. He desarrollado una solución viable (que ingresaré como respuesta), pero es kludgy.
La solución perfecta sería una única línea de código que podría incorporarse al comienzo de cualquier secuencia de comandos que envíe ambas secuencias tanto al terminal como a un archivo de registro.
EDITAR: Redirigir STDERR a STDOUT y canalizar el resultado a tee works, pero depende de que los usuarios recuerden redirigir y canalizar la salida. Quiero que el registro sea a prueba de errores y automático (por eso me gustaría poder insertar la solución en el script).
Para otros lectores: pregunta similar: http://stackoverflow.com/questions/692000/how-do-i-write-stderr-to-a-file-while-using-tee-with-a-pipe – pevik