Podczas automatyzacji zadania warto najpierw przetestować je ręcznie. Byłoby jednak pomocne, gdyby jakiekolwiek dane idące do stderr były natychmiast rozpoznawalne jako takie i odróżnialne od danych idących na standardowe wyjście, i aby wszystkie dane wyjściowe były zebrane razem, więc jest oczywiste, jaka jest sekwencja zdarzeń.
Ostatni dotyk, który byłby miły, to to, że przy wyjściu programu wypisuje swój kod powrotu.
Wszystkie te rzeczy pomogłyby w automatyzacji. Tak, mogę powtórzyć kod powrotu po zakończeniu programu i tak, mogę przekierować stdout i stderr; to, co naprawdę chciałbym, to jakaś powłoka, skrypt lub łatwy w użyciu readresator, który pokazuje stdout na czarno, pokazuje stderr przeplatany z nim na czerwono i drukuje kod wyjścia na końcu.
Czy jest taka bestia? [Jeśli to ważne, używam Bash 3.2 na Mac OS X].
Aktualizacja : Przepraszam, że minęły miesiące, odkąd na to spojrzałem. Wymyśliłem prosty skrypt testowy:
#!/usr/bin/env python
import sys
print "this is stdout"
print >> sys.stderr, "this is stderr"
print "this is stdout again"
W moich testach (i prawdopodobnie ze względu na sposób buforowania), rse i hilite wyświetlają wszystko od standardowego, a potem od standardowego. Metoda FIFO porządkuje porządek, ale wydaje się, że wszystko koloryzuje zgodnie z linią stderr. ind narzekał na moje linie stdr i stderr, a następnie odłożył wyjście z stderr na końcu.
Większość z tych rozwiązań jest wykonalna, ponieważ nie jest nietypowe, że tylko ostatni wynik przechodzi do stderr, ale nadal byłoby miło mieć coś, co działałoby nieco lepiej.