Al automatizar una tarea, es sensato probarla primero manualmente. Sin embargo, sería útil si los datos que van a stderr se reconocen inmediatamente como tales, y se distinguen de los datos que van a stdout, y tienen todos los resultados juntos para que sea obvio cuál es la secuencia de eventos.
Un último toque que sería bueno es que, al salir del programa, imprima su código de retorno.
Todas estas cosas ayudarían en la automatización. Sí, puedo hacer eco del código de retorno cuando finaliza un programa, y sí, puedo redirigir stdout y stderr; lo que realmente me gustaría es un shell, script o redirector fácil de usar que muestra stdout en negro, muestra stderr entrelazado en rojo e imprime el código de salida al final.
¿Hay tal bestia? [Si es importante, estoy usando Bash 3.2 en Mac OS X].
Actualización : lo siento, han pasado meses desde que vi esto. Se me ocurrió un script de prueba simple:
#!/usr/bin/env python
import sys
print "this is stdout"
print >> sys.stderr, "this is stderr"
print "this is stdout again"
En mis pruebas (y probablemente debido a la forma en que se almacenan las cosas), rse e hilite muestran todo desde stdout y luego todo desde stderr. El método fifo obtiene el orden correcto pero parece colorear todo siguiendo la línea stderr. ind se quejó de mis líneas stdin y stderr, y luego puso el resultado de stderr al final.
La mayoría de estas soluciones son viables, ya que no es atípico que solo el último resultado vaya a stderr, pero aún así, sería bueno tener algo que funcionó un poco mejor.