我有以下 bash 代码来捕获构建结果,同时将输出打印到屏幕并提供构建结果的解析。
output=$(unbuffer cmake ... | tee /dev/tty)
parseErrors ${output}
parseErrors 听起来像。它解析任何看起来像错误的输出。我可以在那里退出,但宁愿在函数调用之后退出。如何从传递给 unbuffer 命令的 cmake 构建中获取返回状态?我曾尝试使用 PIPESTATUS[0],但我认为这是从 unbuffer 本身返回值。
我有以下 bash 代码来捕获构建结果,同时将输出打印到屏幕并提供构建结果的解析。
output=$(unbuffer cmake ... | tee /dev/tty)
parseErrors ${output}
parseErrors 听起来像。它解析任何看起来像错误的输出。我可以在那里退出,但宁愿在函数调用之后退出。如何从传递给 unbuffer 命令的 cmake 构建中获取返回状态?我曾尝试使用 PIPESTATUS[0],但我认为这是从 unbuffer 本身返回值。
假设您想从 2 行之后访问返回码
cmake
,您可以这样做PIPESTATUS 的使用必须在
$()
子shell 中。如果您只想将返回码添加到输出中,请将 . 替换exit
为echo
.