The UNIX and Linux Forums  

Go Back   The UNIX and Linux Forums > Top Forums > Shell Programming and Scripting
Google UNIX.COM


Shell Programming and Scripting Post questions about KSH, CSH, SH, BASH, PERL, PHP, SED, AWK and OTHER shell scripts here.

More UNIX and Linux Forum Topics You Might Find Helpful
Thread Thread Starter Forum Replies Last Post
How to get the exit status yhacks Shell Programming and Scripting 1 05-19-2008 05:06 AM
checking exit status of a shell script kdipankar Shell Programming and Scripting 2 05-08-2006 10:08 PM
Checking the exit status of ftp psingh UNIX for Advanced & Expert Users 1 06-04-2002 07:51 PM
tar exit status thorndike UNIX for Dummies Questions & Answers 3 01-22-2002 12:39 PM
ftp exit status. oracle8 UNIX for Advanced & Expert Users 1 10-21-2001 08:34 PM

Reply
 
LinkBack Thread Tools Display Modes
  #1 (permalink)  
Old 10-18-2005
Registered User
 

Join Date: Mar 2005
Posts: 6
Checking Exit Status

I hope one of you smart people out there can help me with what seems like a real simple questing but I can't quite figure out.

In a script I am doing a cmp on two files. I am trying to check the exit status with an if statement but can't seem to figure out the syntax. If the exit status is 1 I want to do something else something else. I am using Solaris 8 and my shell is ksh.
Reply With Quote
Forum Sponsor
  #2 (permalink)  
Old 10-18-2005
Registered User
 

Join Date: Jul 2005
Posts: 45
Hi,
As far as I know any unix command returns a return code. Depending on the shell you use the check may slightly differ.

If you are using ksh - The following should work

....your command here....
rtrncd=$?
if [ $rtrncd -ne 0 ]
then
echo problems # problem happened
exit $rtrncd # exit with the same bad return code
fi
# no problems happened - Continue with your scrip
....possibly more code here....

Hope this helps
Reply With Quote
  #3 (permalink)  
Old 10-19-2005
Registered User
 

Join Date: Mar 2005
Posts: 6
Well I do not get the errors I was getting. Here is what I have in the script followed by the error message.

#!/usr/bin/ksh

cmp file1 file2

rtrncd=$?

if [$rtrncd -ne 0 ] then
cat error-message-file | mailx -s "Error `date`" email address
exit $rtrncd
fi


The error I get is
check_rep2.sh[7]: syntax error at line 11 : 'fi' unexpected


Mike
Reply With Quote
  #4 (permalink)  
Old 10-19-2005
Perderabo's Avatar
Unix Daemon
 

Join Date: Aug 2001
Location: Washington DC Area
Posts: 8,334
You need spaces around [ and ] and also "then" is a separate command...you must put it on a new line or use a semicolon.

if [ $rtrncd -ne 0 ] ; then
Reply With Quote
  #5 (permalink)  
Old 10-19-2005
Registered User
 

Join Date: Mar 2005
Posts: 6
That's it. Thanks for the help.

Mike
Reply With Quote
Google UNIX.COM
Reply

Thread Tools
Display Modes




All times are GMT -7. The time now is 09:18 AM.


Powered by: vBulletin, Copyright ©2000 - 2006, Jelsoft Enterprises Limited.
The UNIX and Linux Forums Content Copyright ©1993-2008 The CEP Blog All Rights Reserved -Ad Management by RedTyger Visit The Global Fact Book

Content Relevant URLs by vBSEO 3.2.0