我有一个部署 Web 服务的脚本,我发现这个小帮手可以exitWithMessageOnError
。
exitWithMessageOnError () {
if [ ! $? -eq 0 ]; then
echo "An error has occurred during web site deployment."
echo $1
exit 1
fi
}
grunt
由于某种原因失败了,因此目前正在运行。
grunt --no-color --verbose clean build
exitWithMessageOnError "grunt failed"
不幸的是,我得到的只是An error has occurred during web site deployment.
和grunt failed
。我想要做的是打印发生的错误,以便我可以修复它。
我尝试了一些方法>&2
但无法让它工作。
答案1
如果程序单独写入,stderr
您应该能够看到其错误输出,而无需该辅助函数。在您的帖子中,您的命令表明您没有使用任何重定向,因此您应该看到错误流。为了排除故障,您当然可以将stdout
和重定向stderr
到两个单独的文件(或将两者都重定向到同一个文件&> file.txt
),然后查看实际发生了什么