获取管道中最后一个命令的退出状态

时间:2018-01-28 14:25:02

标签: bash pipe echo

我正在尝试将管道中最后一个命令的exit命令分配给变量,但它没有给出预期的结果。基本上我正在使用变量来查看它是否以“-SNAPSHOT”结尾。所以如果我试试这个:

export PROJECT_VERSION=1.0.0
echo ${PROJECT_VERSION} | grep \\-SNAPSHOT$

然后echo $?按预期结果1(未找到匹配项)。

如果我然后将echo $?添加到管道的末尾:

echo ${PROJECT_VERSION} | grep \\-SNAPSHOT$ | echo $?

结果变为0.

如何获取grep \\-SNAPSHOT的退出结果,以便将其分配给变量?

1 个答案:

答案 0 :(得分:2)

退出状态位于$?

echo ${PROJECT_VERSION} | grep \\-SNAPSHOT$
variable="$?"