Bash如何执行所有命令,但返回上一个命令的退出值 我想测试一个C++库是否成功安装,所以我有一系列命令:< /p> $ echo '#include "library_to_check_for"' > test.cpp && g++ test.cpp ??? rm test.cpp ???

Bash如何执行所有命令,但返回上一个命令的退出值 我想测试一个C++库是否成功安装,所以我有一系列命令:< /p> $ echo '#include "library_to_check_for"' > test.cpp && g++ test.cpp ??? rm test.cpp ???,bash,command-line,pipe,return-value,logical-operators,Bash,Command Line,Pipe,Return Value,Logical Operators,每次都需要执行remove命令,但我需要$?从compile命令返回状态(即编译成功&是否找到库) 从逻辑上讲,我认为有一种方法和/或某种方法可以让它发挥作用。。我只是不能把我的头绕在它周围 可能是这个 $ echo '#include "library_to_check_for"' > test.cpp; g++ test.cpp; rm test.cpp; exit (something?) 也许你可以把返回值存储在一个变量中,就像这样 echo '#include "library

每次都需要执行remove命令,但我需要$?从compile命令返回状态(即编译成功&是否找到库)

从逻辑上讲,我认为有一种方法和/或某种方法可以让它发挥作用。。我只是不能把我的头绕在它周围

可能是这个

$ echo '#include "library_to_check_for"' > test.cpp; g++ test.cpp; rm test.cpp; exit (something?)

也许你可以把返回值存储在一个变量中,就像这样

echo '#include "library_to_check_for"' > test.cpp; g++ test.cpp; LASTRETURN=$?; rm test.cpp;
echo $LASTRETURN

查看
trap
BASH内置程序。也可以在子shell中运行整个过程,这样您就可以使用
set-e
使其更加清晰。