0

我有一个脚本,它根据记录 id 的文本文件检查数据库中的错误。

当发生错误(例如连接丢失)时,它将有问题的 id ($line) 以及错误消息 ($OP) 写入日志文件。

问题是错误消息始终为空,尽管错误显示在控制台上,但只有 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
4

1 回答 1

3

将标准错误重定向到标准输出。

OP=$(mysql ... 2>&1)
于 2012-09-14T01:12:17.130 回答