Quando si automatizza un'attività, è consigliabile testarla prima manualmente. Sarebbe utile, tuttavia, se tutti i dati che vanno a stderr fossero immediatamente riconoscibili come tali, e distinguibili dai dati che vanno a stdout, e avere tutti gli output insieme, quindi è ovvio quale sia la sequenza di eventi.
Un ultimo tocco sarebbe bello se, all'uscita dal programma, stampasse il suo codice di ritorno.
Tutte queste cose aiuterebbero nell'automazione. Sì, posso ripetere il codice di ritorno al termine di un programma e sì, posso reindirizzare stdout e stderr; quello che mi piacerebbe davvero che fosse una shell, uno script o un redirector facile da usare che mostra stdout in nero, mostra stderr interlacciato con esso in rosso e stampa il codice di uscita alla fine.
C'è una tale bestia? [Se è importante, sto usando Bash 3.2 su Mac OS X].
Aggiornamento : mi dispiace che sono passati mesi da quando ho visto questo. Ho escogitato un semplice script di test:
#!/usr/bin/env python
import sys
print "this is stdout"
print >> sys.stderr, "this is stderr"
print "this is stdout again"
Nei miei test (e probabilmente a causa del modo in cui le cose sono bufferizzate), rse e hilite mostrano tutto da stdout e poi tutto da stderr. Il metodo fifo ottiene l'ordine giusto ma sembra colorare tutto ciò che segue la linea stderr. ind si è lamentato delle mie linee stdin e stderr, e poi ha messo l'ultimo output di stderr.
La maggior parte di queste soluzioni sono realizzabili, in quanto non è atipico che solo l'ultimo output passi a stderr, ma sarebbe comunque bello avere qualcosa che funzioni leggermente meglio.