首页 > 代码库 > 如何解决jenkins中shell脚本明明执行失败却不自行退出,且构建结果仍然显示success的问题??

如何解决jenkins中shell脚本明明执行失败却不自行退出,且构建结果仍然显示success的问题??

首先,需要明确shell命令执行结果$?为0或者非0仅能代表此执行语句是否顺利执行了,例如: 执行语句:adb connect 192.168.XX.XX 执行结果:unable to connect to 192.168.XX.XX:5555: Connection timed out 此时echo $? 为0 所以需要手动在关键语句处对执行结果做逻辑判断 var=$(adb connect 192.168.XX.XX) if [[ $var =~ "connected" ]]; then exit 0 else exit 1 fi jenkins是通过判断最后一条语句是否正确执行即$?,来置failed or success的

如何解决jenkins中shell脚本明明执行失败却不自行退出,且构建结果仍然显示success的问题??