03-05-2015
Did you consider
bash's -e option?
Quote:
-e Exit immediately if a pipeline (which may consist of a single simple command), a list, or a compound command (see SHELL GRAMMAR above), exits with a
non-zero status. The shell does not exit if the command that fails is part of the command list immediately following a while or until keyword, part of
the test following the if or elif reserved words, part of any command executed in a && or || list except the command following the final && or ||, any
command in a pipeline but the last, or if the command's return value is being inverted with !. If a compound command other than a subshell returns a
non-zero status because a command failed while -e was being ignored, the shell does not exit. A trap on ERR, if set, is executed before the shell
exits. This option applies to the shell environment and each subshell environment separately (see COMMAND EXECUTION ENVIRONMENT above), and may cause
subshells to exit before executing all the commands in the subshell.
This User Gave Thanks to RudiC For This Post:
9 More Discussions You Might Find Interesting
1. Filesystems, Disks and Memory
HI All,
I am working on Solaris 8, i have this application runing on one of the partitions,(the installation was done here ie /export/home)
And the out put of this goes to another parition of other disk attached to the same machine. After a certain period of time is get this error stating... (2 Replies)
Discussion started by: zing
2 Replies
2. Shell Programming and Scripting
I have a little bash script that includes make to compile with g++ and then a statement to actually run the compiled program. When it (the script) gets a syntax error, it does not abort and continues to run the previous version of the program.
How can I make the script abort when g++ generates a... (1 Reply)
Discussion started by: siegfried
1 Replies
3. Shell Programming and Scripting
Hi
I have written a script which returns a number. This resulting number I assign to the variable for example:
$ A=`get_dbnum 118 ttrn`
$ echo ${A}
8208
$
The script becomes interective once the error occures and the number is not found. It prompts the user to enter the number. The... (1 Reply)
Discussion started by: aoussenko
1 Replies
4. Shell Programming and Scripting
solution found....
Please use tags for scripts, listings, and console output (2 Replies)
Discussion started by: audiolord
2 Replies
5. Solaris
Below is my shell script from which I am trying to invoke few Hive SQL queries and the below shell script works fine.
Problem Statement:-
If you see my first `hive -e` block in the below shell script which contains a very long Hive SQL query. Sometimes that Hive SQL query gets failed due to... (1 Reply)
Discussion started by: raihan26
1 Replies
6. Shell Programming and Scripting
Hi,
In my shell script I use the following code to copy files from one directory to other.
for file in `ls`; do
#----------------- Copy Files From INDIR to OUTDIR -------------#
echoen "Copying File ${INDIR}/$file to ${OUTDIR}/${file}"
cp ${INDIR}/$file ... (4 Replies)
Discussion started by: pinnacle
4 Replies
7. Shell Programming and Scripting
Hi All,
I have a requirement where if Source Count is not equal to Target count, then I need to exit/abort the script and come out. Then send an email to thummi@email.com saying "RECORD COUNT DOES NOT MATCH. Please need your help.
Here is what I have written : If even the count is not... (1 Reply)
Discussion started by: thummi9090
1 Replies
8. Shell Programming and Scripting
I want to abort script if input variable matched first field in any line of a file.
#!/bin/sh
read INPUTVAR1
awk "{if(\$INPUTVAR1 == $1) x = 1} END {if(x==1) print \"I want to abort script here\"; else print \"OK\"}" /etc/some.conf
I tried "exit" and system("exit") but no luck. (1 Reply)
Discussion started by: urello
1 Replies
9. Shell Programming and Scripting
Hi Team,
I my script i telent my node ip and after loging i run some commands...But some time login fail so i want to stop script at that time..
CONFIG_CHNG.sh
printf 'Please Input Node ID : '
read node
node="$node"
#exec > node_log_$node.log 2>&1
#set -x
>... (2 Replies)
Discussion started by: Ganesh Mankar
2 Replies
exit(1) User Commands exit(1)
NAME
exit, return, goto - shell built-in functions to enable the execution of the shell to advance beyond its sequence of steps
SYNOPSIS
sh
exit [n]
return [n]
csh
exit [ ( expr )]
goto label
ksh
*exit [n]
*return [n]
DESCRIPTION
sh
exit will cause the calling shell or shell script to exit with the exit status specified by n. If n is omitted the exit status is that of
the last command executed (an EOF will also cause the shell to exit.)
return causes a function to exit with the return value specified by n. If n is omitted, the return status is that of the last command exe-
cuted.
csh
exit will cause the calling shell or shell script to exit, either with the value of the status variable or with the value specified by the
expression expr.
The goto built-in uses a specified label as a search string amongst commands. The shell rewinds its input as much as possible and searches
for a line of the form label: possibly preceded by space or tab characters. Execution continues after the indicated line. It is an error to
jump to a label that occurs between a while or for built-in command and its corresponding end.
ksh
exit will cause the calling shell or shell script to exit with the exit status specified by n. The value will be the least significant 8
bits of the specified status. If n is omitted then the exit status is that of the last command executed. When exit occurs when executing
a trap, the last command refers to the command that executed before the trap was invoked. An end-of-file will also cause the shell to exit
except for a shell which has the ignoreeof option (See set below) turned on.
return causes a shell function or '.' script to return to the invoking script with the return status specified by n. The value will be the
least significant 8 bits of the specified status. If n is omitted then the return status is that of the last command executed. If return
is invoked while not in a function or a '.' script, then it is the same as an exit.
On this man page, ksh(1) commands that are preceded by one or two * (asterisks) are treated specially in the following ways:
1. Variable assignment lists preceding the command remain in effect when the command completes.
2. I/O redirections are processed after variable assignments.
3. Errors cause a script that contains them to abort.
4. Words, following a command preceded by ** that are in the format of a variable assignment, are expanded with the same rules as a vari-
able assignment. This means that tilde substitution is performed after the = sign and word splitting and file name generation are not
performed.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|Availability |SUNWcsu |
+-----------------------------+-----------------------------+
SEE ALSO
break(1), csh(1), ksh(1), sh(1), attributes(5)
SunOS 5.10 15 Apr 1994 exit(1)