У меня есть скрипт, выполняющий команды, такие как:
export LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH;./some_app -i $INDEX | tee $LOG
echo "Number of errors: $(grep "ERROR" $LOG | wc -l)"
Проблема, вероятно, в трубе tee
. Похоже, не получить весь вывод. Когда приложение завершает работу, последние несколько строк вывода (обычно те, которые содержат фатальную ошибку) отсутствуют. Когда я запускаю приложение без канала, tee
я получаю их в выводе.
Как я могу заставить скрипт ждать, пока тройник завершит обработку всего вывода?