Obtendo a saída de outro script enquanto preserva as quebras de linha

0

Estou executando um programa em C a partir de um script bash e gostaria de capturar a última linha de saída e o código de saída. Foi o que eu fiz:

echo  output=$(echo $op | ./compute)
echo  $output
echo "$output"

Ambas as saídas não preservam as quebras de linha. Pensei em usar tail -1 mas isso muda o código de saída que é importante para mim.

O que estou fazendo de errado?

user1326293
fonte

Respostas:

0

Você poderia usar o $? 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 ( "" ) quando você está lendo a saída, 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)
Hewbot
fonte