获取另一个脚本的输出并保留换行符

获取另一个脚本的输出并保留换行符

我正在从 bash 脚本运行 C 程序,并想捕获最后一行输出和退出代码。这是我所做的:

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

两种输出均不保留换行符。我考虑过使用,tail -1但这会改变退出代码,这对我来说很重要。

我究竟做错了什么?

答案1

您可以使用$?变量来存储上次运行的命令的返回值。

""此外,为了保留换行符,您需要在读取输出时使用引号( ),而不是在之后:

# 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)

相关内容