Вы не включаете запрошенный журнал отладки, но, судя по вашему снимку экрана, ваша программа никогда не завершается. Он просто остается и записывает значения навсегда. Следовательно, захват никогда не достигает конца, поэтому ваш оператор echo
никогда не выполняется.
Вы должны изменить свою программу или вызов так, чтобы он в какой-то момент завершился.
Если вы можете ' t изменить программу, вы можете записать, например, только первые десять строк, используя одно из:
# More canonical way
output=$(./a.out | head -n 10)
# More resilient way, if the program is especially poorly written
output=$( head -n 10 <(./a.out) )