Como capturar apenas o stderror neste script bash?

1

este é o meu script 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

Meu requisito é coletar apenas o erro. Em vez disso, recebo todos os dados de erro e êxito.

Eu tentei

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

Eu não posso usar um pipe, pois o código de erro não receberá o código de erro desejado.

    
por deepak pandey 13.06.2017 / 09:31

1 resposta

1

use o redirecionamento de bash

Script.sh 2> Error.log
    
por 13.06.2017 / 09:35