Error Redirections


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Error Redirections
# 1  
Old 04-07-2009
Error Redirections

Hi,

I currently have a Unix script the calls the Teradata bteq utility. This bteq utility "takes" SQL commands from a file and writes the "output" to a log file

the syntax for doing so was

Code:
bteq<testscript.btq>testscript.log
retval=$?
if [ $retval -ne 0 ]
then
   echo "Failure in script execution - Exiting"
   exit -1
   fi

But, this not "capture" the error messages if any caused during the execution of the utility

I tried to modify the above line of code to

Code:
UXLPRMS02 terapppt:/ifiles/retek_am > bteq<testscript.btq 2>&1| tee testscript.log
BTEQ 08.02.04.02 Tue Apr  7 16:37:44 2009
 
+---------+---------+---------+---------+---------+---------+---------+----
.logon dbc/pptuser,

 *** Logon successfully completed.
 *** Teradata Database Release is V2R.06.02.02.56               
 *** Teradata Database Version is 06.02.02.56                     
 *** Transaction Semantics are BTET.
 *** Character Set Name is 'ASCII'.
 
 *** Total elapsed time was 1 second.
 
+---------+---------+---------+---------+---------+---------+---------+----

/***SELECT VALUES***/

select * from tempdb_ppt.meenaltest;

 *** Query completed. 13 rows found. 4 columns returned. 
 *** Total elapsed time was 1 second.

    SerialN  Name                  Dept                Age
-----------  --------------------  ----------  -----------
          2  Ankit                 IDC                  10
          3  Priyanka              IDC                  11


+---------+---------+---------+---------+---------+---------+---------+----

/***INSERTING VALUES***/

insert into tempdb_ppt.meenaltest values (26,'Meenal','IDC',09);
 *** Failure 2801 Duplicate unique prime key error in tempdb_ppt.meenaltest.
 
                Statement# 1, Info =0 
 *** Total elapsed time was 1 second.


+---------+---------+---------+---------+---------+---------+---------+----

.IF ERRORCODE <> 0 THEN .QUIT 30;
.QUIT 30;
 *** You are now logged off from the DBC.
 *** Exiting BTEQ...
 *** RC (return code) = 30 
UXLPRMS02 terapppt:/ifiles/retek_am > echo $?
0
UXLPRMS02 terapppt:/ifiles/retek_am >

But as you can see the return code will always be zero [as I am piping to the tee] ... is there any technique to "capture" the error message in the log file and (at the same time) also the "true" return code.

Kindly advise
# 2  
Old 04-07-2009
Can you redirect stderr to a separate error.log file?

bash creates an array ${PIPESTATUS[*]} that is the exit status of each of the commands in a series of pipes. You can also use that if you are using bash.
# 3  
Old 04-07-2009
Jim ... thanks for quick response.
I could "write" the error to a separate error.log file ... but (if I were to do this) how would I capture the return code?

also, if you could please share on the "${PIPESTATUS[*]}" as I am currently using korn shell (#!/usr/bin/ksh)
# 4  
Old 04-08-2009
Trapping the "return code"

Could kindly advise on the above query pelase.

[I am aware of grepping though the log file for any errors technique ... but I would want the command script to validate the UNIX return code and not the "log file" content"]
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Print Error in Console and both Error & Output in Log file - UNIX

I am writing a shell script with 2 run time arguments. During the execution if i got any error, then it needs to redirected to a error file and in console. Also both error and output to be redirected to a log file. But i am facing the below error. #! /bin/sh errExit () { errMsg=`cat... (1 Reply)
Discussion started by: sarathy_a35
1 Replies

2. Solaris

Solaris 10 audit, need to catch redirections

Hello, I've installed solaris audit on a Solaris 10 SPARC system. Latest patch 143962-04 is installed. My problem is that while I can catch all arguments and processes created, I cannot catch a redirection. ie cat /tmp/test.txt > /tmp/test2.txtCatches the first part but not the redirection.... (5 Replies)
Discussion started by: gowron
5 Replies

3. Solaris

Rpcinfo: can't contact portmapper: RPC: Authentication error; why = Failed (unspecified error)

I have two servers with a fresh install of Solaris 11, and having problems when doing rpcinfo between them. There is no firewall involved, so everything should theoretically be getting through. Does anyone have any ideas? I did a lot of Google searches, and haven't found a working solution yet. ... (2 Replies)
Discussion started by: christr
2 Replies

4. Shell Programming and Scripting

too many redirections error

When i try to run script in Linux, i get an error: ./MoveToHistory_ROAMING.sh: too many redirections What is the reason? Thank you. Please use code tags! (3 Replies)
Discussion started by: annar
3 Replies

5. UNIX for Dummies Questions & Answers

> 5 ")syntax error: operand expected (error token is " error

im kinda new to shell scripting so i need some help i try to run this script and get the error code > 5 ")syntax error: operand expected (error token is " the code for the script is #!/bin/sh # # script to see if the given value is correct # # Define errors ER_AF=86 # Var is... (4 Replies)
Discussion started by: metal005
4 Replies

6. AIX

nim mksysb error :/usr/bin/savevg[33]: 1016,07: syntax error

-------------------------------------------------------------------------------- Hello, help me please. I am trying to create a mksysb bakup using nim. I am geting this error, how to correct it ? : Command : failed stdout: yes stderr: no... (9 Replies)
Discussion started by: astjen
9 Replies

7. UNIX for Dummies Questions & Answers

awk Shell Script error : "Syntax Error : `Split' unexpected

hi there i write one awk script file in shell programing the code is related to dd/mm/yy to month, day year format but i get an error please can anybody help me out in this problem ?????? i give my code here including error awk ` # date-month -- convert mm/dd/yy to month day,... (2 Replies)
Discussion started by: Herry
2 Replies

8. Shell Programming and Scripting

multiple redirections

I have a line in my script which reads as exec >> $LOG 2>&1 However I am required to get input from the user somewhere in between as follows. read var?"Enter a value:" < /dev/tty The execution of the script puts the prompt of the read command to the log file rather than the console,... (4 Replies)
Discussion started by: jerardfjay
4 Replies

9. UNIX for Dummies Questions & Answers

Error: Internal system error: Unable to initialize standard output file

Hey guys, need some help. Running AIX Version 5.2 and one of our cron jobs is writing errors to a log file. Any ideas on the following error message. Error: Internal system error: Unable to initialize standard output file I'm guessing more info might be needed, so let me know. Thanks (2 Replies)
Discussion started by: firkus
2 Replies
Login or Register to Ask a Question