Ao automatizar uma tarefa, é sensato testá-la primeiro manualmente. Seria útil, no entanto, se algum dado que fosse armazenado no stderr fosse imediatamente reconhecido como tal, e distinguível dos dados que armazenassem o stdout, e ter toda a saída juntos, para que fique óbvio qual é a sequência de eventos.
Um último toque que seria bom é se, na saída do programa, ele imprimisse seu código de retorno.
Todas essas coisas ajudariam na automação. Sim, eu posso ecoar o código de retorno quando um programa termina, e sim, eu posso redirecionar stdout e stderr; o que eu realmente gostaria de algum shell, script ou redirecionador fácil de usar que mostre stdout em preto, mostre stderr intercalado com ele em vermelho e imprima o código de saída no final.
Existe uma fera assim? [Se importa, estou usando o Bash 3.2 no Mac OS X].
Atualização : Desculpe, já faz meses desde que eu olhei para isso. Eu vim com um script de teste simples:
#!/usr/bin/env python
import sys
print "this is stdout"
print >> sys.stderr, "this is stderr"
print "this is stdout again"
Nos meus testes (e provavelmente devido à maneira como as coisas são armazenadas em buffer), o rse e o hilite exibem tudo, desde stdout e, em seguida, tudo sobre stderr. O método fifo acerta a ordem, mas parece colorir tudo que segue a linha stderr. ind reclamou das minhas linhas stdin e stderr e depois colocou a saída do stderr por último.
A maioria dessas soluções é viável, pois não é atípico que apenas a última saída vá para o stderr, mas ainda assim, seria bom ter algo que funcionasse um pouco melhor.