Passing exit status to an exit_handler


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Passing exit status to an exit_handler
# 1  
Old 12-23-2004
Passing exit status to an exit_handler

Hi!,

I have a exit_handler to do post-processing when the programs exits with some value.

Here is my code:

trap 'exit_handler ' EXIT

exit_handler()
{
status=$?
print -u2 "inside the exit handler with status as $status"
}

exit 2

But when i run this orgram, this is the output I get.
==================================
inside the exit handler with status as 0
==============================

The exit code in the handler is "0" and not "2".

Could you suggest me a way by which the correct exit code can be passed to the exit_handler.

Thanks,
Jyoti
# 2  
Old 12-23-2004
Well - you can override the exit builtin (in bash) with a function
Code:
#!/bin/bash

exit() {
  echo "Inside exit handler: $1"
  # don't call exit again - otherwise you'll
  # get an infinite loop!
}

exit 2

Obviously this is a bit of a kludge.

I'd say it'd be easiest to write your own exit function and then call that function instead of exit when you leave the program, e.g.

Code:
#!/bin/bash

my_exit()
{
  echo "We want to exit with status $1"
  exit $1
}

my_exit 2

Yet another way to do it (and how I'd personally go about it) would be to call your script from within another script. You could then test the value of $? and process accordingly... e.g.
Code:
#!/bin/sh

/path/to/myscript
exitstatus=$?
echo "My script exited with exit status $exitstatus"
case $exitstatus in
  0)	echo "All is well" 
        ;;
  *)    echo "Oh dear"     
        ;;
esac

exit 0

Cheers
ZB
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Exit status in the script

Hi all, I am trying to use a script (a.sh) which is calling another script(b.sh). And I want to use the exit code(set by me) of b.sh in a.sh. I am using this in b.sh #!/bin/sh <-- code --> if ; then exit 0 else exit 1 fiBut... (2 Replies)
Discussion started by: Raj999
2 Replies

2. Shell Programming and Scripting

Want to get the exit status

Hi All, I am trying to create a zip file with all the txt files(these are in large number) in the current directory. I am able to do this operation sucessfully. After this i want to get the status of the tar command executed and do accordingly. When i am trying with the below code, the status... (3 Replies)
Discussion started by: paddu
3 Replies

3. Shell Programming and Scripting

exit status from the script is always 0

Hi , I have a bash script , which does the network configuration. Messages from this script are dumped on console as well as stored in a log file . This script is invoked from a C code using system call . The script returns different exit code , to indicate different error cases. The... (1 Reply)
Discussion started by: abhirai
1 Replies

4. Shell Programming and Scripting

Exit Status

I have a shell script (#!/bin/sh) that interacts with Appworx and Banner Admin. In my script I want to check the exit status of awrun before continuing. awrun can run for 10 seconds or it can run for over a minute. So my question is, will it go through my if statement before awrun may even be... (2 Replies)
Discussion started by: smkremer
2 Replies

5. Shell Programming and Scripting

Exit status of grep

I am trying to get the exit status of grep and test a condition with it, But it does not seem to be working as expected since i am doing something wrong apparently as per grep help Exit status is 0 if match, 1 if no match, and 2 if trouble. My problem is something like this templine - a... (7 Replies)
Discussion started by: prasbala
7 Replies

6. UNIX for Dummies Questions & Answers

$? = Exit status variable

hi, exit status variable $?, returns some digits. 0 ---> succes. 1..126 Failure (the program itself will decide what the numbers mean) 127 Command not found 128..254 The program did not exit normally. (E.g., it crashed, or received a signal) 255 Invalid exit code well, if $?... (4 Replies)
Discussion started by: dummydba
4 Replies

7. Shell Programming and Scripting

Exit status

I'm preparing for exam and one of exams is to write own test command... I wonder if in unix is a command which just returns exit code you specify.. I know I can easily write a function like this: exStatus() { return $1 } -> my question is rather theoretical thank you! (9 Replies)
Discussion started by: MartyIX
9 Replies

8. Shell Programming and Scripting

How to get the exit status

Hi all, I'm running a program which return 1 upon success. But when encounters problem shell return 's '1' . How to differentiate between them the shell return value and script return value. Ex. function fn return '1' if executed successfully and '0' if failed. But when if shell encounters... (1 Reply)
Discussion started by: yhacks
1 Replies

9. Shell Programming and Scripting

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... (4 Replies)
Discussion started by: PrimeRibAndADew
4 Replies

10. Shell Programming and Scripting

exit status

i downloaded a text file from metalab.unc.edu called sh.txt and in this reference manual it refers to shell scripting exit status .. at the end of one of the examples that author gave an exit status of 127.. to what does a 127 exit status refer too and what is its purpose in the code. moxxx68 (1 Reply)
Discussion started by: moxxx68
1 Replies
Login or Register to Ask a Question