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?