use o redirecionamento de bash
Script.sh 2> Error.log
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.
use o redirecionamento de bash
Script.sh 2> Error.log
Tags shell sqlplus io-redirection