Автоматизуючи завдання, його розумно спочатку перевірити вручну. Було б корисно, однак, якщо будь-які дані, що надходять до stderr, були негайно розпізнані як такі і відрізнялися від даних, що йдуть до stdout, і мати всі вихідні дані разом, щоб було очевидно, яка послідовність подій.
Останній штрих, який би був приємний - це, якщо при виході з програми надрукував свій код повернення.
Все це допоможе в автоматизації. Так, я можу повторювати код повернення, коли програма закінчується, і так, я можу перенаправляти stdout і stderr; що мені дуже хотілося б, щоб це оболонка, скрипт чи простий у використанні переспрямовувач, який показує stdout у чорному кольорі, показує stderr переплетеним із ним червоним кольором та друкує код виходу в кінці.
Чи є такий звір? [Якщо це має значення, я використовую Bash 3.2 на Mac OS X].
Оновлення : Вибачте, що минуло кілька місяців, як я переглянув це. Я придумав простий тестовий сценарій:
#!/usr/bin/env python
import sys
print "this is stdout"
print >> sys.stderr, "this is stderr"
print "this is stdout again"
У моєму тестуванні (і, мабуть, завдяки способу буферизації), rse та hilite відображають все від stdout, а потім і від stderr. Метод fifo отримує порядок правильно, але, здається, забарвлює все, що йде за лінією stderr. ind поскаржився на мої stdin та stderr рядки, а потім поставив вихід із stderr останнім.
Більшість цих рішень є працездатними, оскільки нетипово, щоб лише останній результат перейшов до більш жорсткого, але все-таки було б непогано мати щось, що працювало трохи краще.