homework < data.in > results.out 2> err.msgs

В stdin команды homework попадает файл data.in
stdout — в results.out
stderr — в err.msgs

Чтобы объединить stderr с stdout - нужно:

homework < data.in > results.out 2>&1
# stderr(2) в stdout(&1)

Про амперсанд &

Если в примере выше не будет амперсанда &stderr запишется в файл с названием 1

+ пример выше приведен просто для понимания в дальнейшем такого кода. Но есть более распространенная и удобная версия объединения stdout и stderr:

homework < data.in &> results.out

Соус: Книга Bash и кибербезопасность Глава 1. Работа с командной строкой Основы работы с командной строкой Перенаправление и конвейер