我有一个shell脚本,其中包装了一个命令(mvn clean install),将输出重定向到一个日志文件。
#!/bin/bash
...
mvn clean install $@ | tee $logfile
echo $? # Does not show the return code of mvn clean install
现在,如果mvn清洁安装失败与一个错误,我希望我的包装壳脚本也失败与该错误。但是由于我将所有输出管道到tee,我不能访问mvn清洁安装的返回代码,所以当我访问$?之后,它总是0(因为tee成功)。
我尝试让命令将错误输出写入一个单独的文件,然后检查,但mvn的错误输出总是空的(似乎它只写到stdout)。
我如何保存mvn清洁安装的返回代码,但仍然管道输出到一个日志文件?