Mam skrypt wykonujący polecenia takie jak:
export LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH;./some_app -i $INDEX | tee $LOG
echo "Number of errors: $(grep "ERROR" $LOG | wc -l)"
Problem jest prawdopodobnie w potoku do tee . Nie wydaje się, aby uzyskać całą moc wyjściową. Gdy aplikacja kończy pracę, brakuje kilku ostatnich wierszy danych wyjściowych (zwykle tych zawierających błąd krytyczny). Kiedy uruchamiam aplikację bez potoku tee, otrzymuję je na wyjściu.
Jak zmusić skrypt do czekania, aż tee zakończy przetwarzanie wszystkich danych wyjściowych?