我有一个脚本,它根据记录ID的文本文件检查数据库是否有错误。
当连接丢失时发生错误,它会将违规ID($ line)写入日志文件以及错误消息($ OP)。
问题是错误消息始终为null,尽管错误显示在控制台上,只有id被写入日志文件。
如何捕获错误并将其输出到日志文件?
while read line
do
OP=$(mysql $DB -u root --password=$PW -e "select * from properties where hierarchyid = $line")
printf "\r$line"
#if [ $? -gt 0 ]; then
if [[ ! $OP =~ "hierarchyid" ]]; then
echo
echo $line $OP >> errors.log
sleep 10
echo
fi
done < $IDS
答案 0 :(得分:3)
将stderr重定向到stdout。
OP=$(mysql ... 2>&1)