Você pode usar a variável $?
, que armazena o valor de retorno do último comando executado.
Além disso, para preservar as quebras de linha, você precisa usar as aspas ( ""
) ao ler a saída, e não depois:
# Save your C program's whole output (with newlines)
output="$(echo $op | ./compute)"
# Print exit code
echo $?
# Print the last line of your program's output
echo $(echo "$output" | tail -1)