如何仅捕获此 bash 脚本中的 stderror?

如何仅捕获此 bash 脚本中的 stderror?

这是我的 scash 脚本

 query="select * from blabla;"    
    sqlplus64 -S /nolog <<ENDOFSQL>>errorLog.txt 
               CONNECT username/pwd@domainName:1521/serviceName
               whenever sqlerror exit sql.sqlcode;
               $query 
               exit;
    ENDOFSQL
               ERRORCODE=$?

                   if [ $ERRORCODE -eq 0 ];
                      then
                          echo  "$query" >> "sqlTemp.SQL"
                          echo  -e  "$query \n this query is successful" 

                      else
                          echo -e "$query \nthis query has  error- check the log file for detail" 

                   fi

我的要求是仅收集错误,而不是获取所有错误和成功数据。

我努力了

1.sqlplus64 -S /nolog <<ENDOFSQL2>>errorLog.txt 
2.sqlplus64 -S /nolog <<ENDOFSQL 2>&1>errorLog.txt 

我无法使用管道,因为错误代码不会收到所需的错误代码。

答案1

使用 bash 重定向

Script.sh 2> Error.log

相关内容