kumarb
kumarb

Reputation: 535

abort execution of shell script on error

I am new to shelll script and my question here might be very basic.

I have a script(.sh file) which is making call to couple of scipt files. now suppose, I am getting error message on execution of script 1, I would like to abort the script and completely terminate the script flow. It should not go on next step.

could you please tell me how i can achieve this.

EDIT

My scriptA is making call to Script B, which internally making call to some other scriptC.

if execution of StopServer1.py script(part of script B) failed, flow should terminate here itself and should not come to StopServer2 and StopServer3 and control goes to Script A. which should also terminate .

please let me know if set -e will help here.

cd /usr/oracle/WSAutomate/
java weblogic.WLST /usr/oracle/StopServer1.py >> $logFileName
java weblogic.WLST /usr/oracle/StopServer2.py >> $logFileName
java weblogic.WLST /usr/oracle/StopServer3.py >> $logFileName

Upvotes: 0

Views: 146

Answers (2)

arutaku
arutaku

Reputation: 6107

You can use the operator && this way <execute_script1> && <execute_script2>.

It executes script1 and, only if everything goes right, it executes script2. In case of error script2 will not run.

Upvotes: 0

anubhava
anubhava

Reputation: 786091

You can use:

set -e

for aborting the script on error.

main script snippet:

#!/bin/bash    
set -e

# Any failure in these script calls will make main script to exit immediately
./script1
./script2
./script3

Upvotes: 4

Related Questions