exit a script


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers exit a script
# 1  
Old 05-19-2010
exit a script

Hi Guys,

I have a script which takes reply from user and executes the corresponding scirpt. Below is the script
Code:
 
PS3 = 'Enter the options of your choice(x to exit)=>'
select useropt in 'List Processess' \
                         'List semaphores'
do 
case $REPLY in
     1) abc.sh
     2) cdf.sh
     c) continue ;;
     x) exit;;
esac
echo "Press enter to continue"
read ANSWER
$0
 
done
exit 0

First I gave option 1, then option 2. Later when I gave option x(to exit), it is not exiting the script immediately, rather it is looping twice and exiting the script.

When the menu displays initially, if I give option x(to exit) before giving anyother options(1 or 2), the scripts exits immediately.


Let me know ypur thoughts.

Moderator's Comments:
Mod Comment Use code tags, ty.

Last edited by zaxxon; 05-19-2010 at 02:26 AM..
# 2  
Old 05-19-2010
Hi i beleive here, you are missing Sh for exexution of files for option 1 and 2.
Please try to include Sh to get it executed.
# 3  
Old 05-19-2010
@Vishwaga
No, there is no sh needed and it is written sh, not Sh. Unix/Linux is case sensitive.

@vandi
There are several syntax errors in your post:
Code:
PS3 = 'Ente...
   ^ ^

There have to be no spaces between the variable name, the equal sign or the value.
In a case statement, you have to end every line with double semicolon. You did this in the last lines, but not in the 1st and 2nd.
The other stuff inside the do/done will not work.
Also select does an automatic numbering. An input as c) or x) when the point being listed as 3) and 4) might not be the best.

Your script could look like this:
Code:
#!/usr/bin/ksh

PS3='Enter the options of your choice(x to exit)=>'

select useropt in         \
        'List Processess' \
        'List semaphores' \
        'Continue'        \
        'Exit'
do
        case $REPLY in
        1 ) echo "Listing processess..." ;;
                2 ) echo "Listing semaphores..." ;;
                3 ) break ;;
                4 ) echo "Exiting..."; exit 0 ;;
        esac
done

echo "Continue..."

exit 0

# 4  
Old 05-19-2010
Thanks guys for your valuable info.

I still see issues with the script. Here is the exact script:

Code:
 
#!/usr/bin/ksh
PS3='Enter the options of your choice(x to exit)=>'
echo "$REPLY"
REPLY='4'
select useropt in         \
        'List queue depth' \
        'List queue connections' \
        'Continue'        \
        'Exit'
do
        case $REPLY in
                1 ) echo "Listing queue depth..."
                    queuedepth.s
                     ;;
                2 ) echo "Listing queue connections..."
                    queueconn.s
                     ;;
                3 ) break ;;
                4 ) echo "Exiting..."; exit 0 ;;
        esac
$0
done
echo "Continue..."
exit 0

This script is working but...

When I want to execute case 4 (exit out of the script) after executing case 1, case 2 ...I needed provide the '4' twice to exit out the script as I ran 2 scripts ( case 1 and 2). If I execute only single case 1 or 2, I needed to provide '4' in the display panel only once as I executed single case.

Wondering if we have a bigger menu list with many scripts to execute and executed many scripts(cases) from the menu list, I needed to give those many times of '4' to exit out of the script.

How to avoid this situation?. I wanted to exit out of the script when I provide '4' only once (at max twice). How to achieve this?.

Thanks,
# 5  
Old 05-19-2010
Could you post both the scripts which you are executing i.e with case 1 & 2.

Smilie
# 6  
Old 05-19-2010
case 1: queuedepth.s
Code:
#!/bin/ksh
echo "DIS QL(*) CURDEPTH WHERE(CURDEPTH GT 0)" | runmqsc QM1



case 2: queueconn.s
Code:
 
#!/bin/ksh
echo "DIS CONN(*)" | runmqsc QM1

These scripts are just MQ commands.
# 7  
Old 05-19-2010
Use the command "exit" at the last of all the subscripts like :

Code:
#!/bin/ksh
echo "DIS QL(*) CURDEPTH WHERE(CURDEPTH GT 0)" | runmqsc QM1
exit                 ----->>> NOTICE THIS

and

Code:
#!/bin/ksh
echo "DIS CONN(*)" | runmqsc QM1
exit                        ----->>> NOTICE THIS

And then try...
Please tell if still problem...Smilie
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Exit from script

I am invoking java program from shell script. Is there way to catch internal error and exit from script. though it is logging exceptions and errors script continues. (2 Replies)
Discussion started by: sushma123
2 Replies

2. Shell Programming and Scripting

How to capture the exit code of a shell script in a perl script.?

hi, i want to pop up an alert box using perl script. my requirement is. i am using a html page which calls a perl script. this perl script calls a shell script.. after the shell script ends its execution, i am using exit 0 to terminate the shell script successfully and exit 1 to terminate the... (3 Replies)
Discussion started by: Little
3 Replies

3. Shell Programming and Scripting

How to capture exit code of child script and send it to parent script?

#!/usr/local/bin/bash set -vx /prod/HotelierLinks/palaceLink/bin/PalacefilesWait /prod/HotelierLinks/palaceLink/bin/prodEnvSetup 03212013 & if then echo "fatal error: Palace/HardRock failed!!!!" 1>&2 echo "Palace Failed" | mail -s "Link Failed at Palace/HardRock" -c... (1 Reply)
Discussion started by: aroragaurav.84
1 Replies

4. Shell Programming and Scripting

How to get the exit status of a command in nner script to the outer script?

Hi all, I have a shell script inside which i am executing another shell script. In the inner script im executing a command. i want the status of that command in the outer script to perform some validations. How to get its status please help!!1 Im using ksh. (2 Replies)
Discussion started by: Jayaraman
2 Replies

5. Shell Programming and Scripting

How to grep sql error in shell script and exit the script?

I need help in the following script. I want to grep the sql errors insert into the error table and exit the shell script if there is any error, otherwise keep running the scripts. Here is my script #!/bin/csh -f source .orapass set user = $USER set pass = $PASS cd /opt/data/scripts echo... (2 Replies)
Discussion started by: allinshell99
2 Replies

6. UNIX for Dummies Questions & Answers

trying to grep the first few lines of a continuos script, and exit the script anyidea

Hi. I am trying to extract the output of the first few lines of a continuos sh script. The when i run it, i wont to grep the the first 20 lines of it for an entry and basically do a crtl z out of it or to that effect, and output the results to a text file. I basically want to script... (5 Replies)
Discussion started by: k00061804
5 Replies

7. UNIX for Dummies Questions & Answers

Exit out of the Script Command inside a Script

I'm new to Linux. I have a bash script that invokes an executable. I'd like use the SCRIPT command inside the script and exit out of the script command after it writes to the file. Does this make sense? Below is an example of the contents of my script. #BEGIN SCRIPT script typescript... (6 Replies)
Discussion started by: jmungai
6 Replies

8. Shell Programming and Scripting

Script exit

HI, I written a shell script to stop my peoplesoft applications.Peoplesoft provides a psadmin utility to stop the application. I used the force shutdown option with it psadmin -c shutdown! -d pskri. When my application process hungs in the background the script is not able to continue and... (3 Replies)
Discussion started by: Krrishv
3 Replies

9. Shell Programming and Scripting

exit from script

I have a shell script with options, one of which should exit the system (logout), however when I select this option it drops down to shell, is there a command other than exit that will close the session completely ? (1 Reply)
Discussion started by: gefa
1 Replies

10. UNIX for Dummies Questions & Answers

Where can I find a list of exit codes? (Exit code 64)

I'm receiving an exit code 64 in our batch scheduler (BMC product control-m) executing a PERL script on UX-HP. Can you tell me where I can find a list of exit codes and their meaning. I'm assuming the exit code is from the Unix operating system not PERL. (3 Replies)
Discussion started by: jkuchar747
3 Replies
Login or Register to Ask a Question