02-06-2009
The backticks fork a new proces (child), so the exit statement closes the child proces not the current shell.
Better is to check the return code of the function with $? to determine the behaviour of your script.
Regards
10 More Discussions You Might Find Interesting
1. Programming
Is it ok to use exit() inside a signal handler?
I catch SIGUSR1 in a signal handler and I try to close a file and then exit. The result is inconsistent. Sometimes the process exit and sometimes it returns to the original state before the signal handler was invoked.
Perhaps exit is not legal in... (8 Replies)
Discussion started by: Tuvia
8 Replies
2. Shell Programming and Scripting
Hi All,
I want to use EXIT command in a particular scenario.
In my script,its like that:-
if($vairable -eq 1);then
do this thing
do this
do this
fi
if($var2 -eq 1);then
do this
do this
fi
like this there are three four if conditions.
now I want is that if second condition is... (2 Replies)
Discussion started by: aruncser
2 Replies
3. Shell Programming and Scripting
Hi,
Using AIX 5.3 and Ksh.
/>ls -al /usr/bin/ksh
-r-xr-xr-x 5 bin bin 237420 Apr 10 2007 /usr/bin/ksh
/>
I recently started working for a new employer. I have written UNIX K-Shell scripts for many years and have never had this particular issue before. Its perplexing me.
I have... (2 Replies)
Discussion started by: troym72
2 Replies
4. Shell Programming and Scripting
Hi all,
I'm trying to run an sql inside a loop which looks like this
#!bin/ksh
while IFS=, read var1 var2
do
sqlplus -s ${USERNAME}/${PASSWORD}@${ORACLE_SID} << EOF
insert into ${TABLE}
(
appt_date
)
values
(
'${var1 }'
);
... (6 Replies)
Discussion started by: ryukishin_17
6 Replies
5. UNIX for Dummies Questions & Answers
is there a way to compare two files using diff (ex: diff 1.txt 2.txt) in an if statement?
I read that the exit status of diff is 0 if the files contain the same content. 1 if they're different. So what I am attempting is basically:
if ; then
echo "they're the same"
else
... (2 Replies)
Discussion started by: SoVi3t
2 Replies
6. UNIX for Advanced & Expert Users
Hi,
Is there a way to exit from a subcommand, which is a function in my example below?
#!/bin/ksh
function exitFunction {
if ]; then
echo "success"
elif ]; then
echo "failed"
exit 1 # the exit problem
fi
exit 0
}
... (2 Replies)
Discussion started by: chstr_14
2 Replies
7. Shell Programming and Scripting
Below is my script that is function properly per my conditions but I am facing one problem here that is when one function fails then Iy should not check other functions but it calls the other function too So anyone can help me how could i achieve this?
iNOUT i AM GIVING TO THE... (1 Reply)
Discussion started by: rohit22hamirpur
1 Replies
8. Shell Programming and Scripting
Hi,
I am having script which contains many functions. Need to print each function name at the starting of the function. Like below,
functionname()
{
echo "functionname"
commands....
}
I've tried like below,
func=`grep "()" scriptname | cut -d "(" -f1`
for i in $func
do
nawk -v... (4 Replies)
Discussion started by: Sumanthsv
4 Replies
9. UNIX for Beginners Questions & Answers
I am trying to write a shell script, which looks like
#!/usr/bin/env bash
#set -e
RED="`tput setaf 1`"
GREEN="`tput setaf 2`"
BLUE="`tput setaf 4`"
NORM="`tput sgr0`"
pushd ${MY_GIT_TOP}/body/Ue/test >/dev/null #MY_GIT_TOP is set my by gitenv
make test_trinity_svp
pushd... (8 Replies)
Discussion started by: Sekhar419
8 Replies
10. Shell Programming and Scripting
Hi All,
Good Day, seeking for your assistance on how to not perform my 2nd, 3rd,4th etc.. function if my 1st function is in else condition.
#Body
function1()
{
if
then
echo "exist"
else
echo "not exist"
}
#if not exist in function1 my all other function will not proceed.... (4 Replies)
Discussion started by: meister29
4 Replies
fork(2) System Calls Manual fork(2)
Name
fork - create a new process
Syntax
#include <sys/types.h>
#include <unistd.h>
pid = fork()
pid_t pid;
Description
The system call causes creation of a new process. The new process (child process) is an exact copy of the calling process except for the
following:
o The child process has a unique process ID.
o The child process has a different parent process ID (that is, the process ID of the parent process).
o The child process has its own copy of the parent's descriptors. These descriptors reference the same underlying objects, so that, for
instance, file pointers in file objects are shared between the child and the parent, so that a on a descriptor in the child process
can affect a subsequent read or write by the parent. This descriptor copying is also used by the shell to establish standard input
and output for newly created processes as well as to set up pipes.
o The child processes resource utilizations are set to 0. For further information, see
Return Values
Upon successful completion, returns a value of 0 to the child process and returns the process ID of the child process to the parent
process. Otherwise, a value of -1 is returned to the parent process, no child process is created, and the global variable errno is set to
indicate the error.
Diagnostics
The system call fails and no child process are created under the following conditions:
[EAGAIN] The system-imposed limit {PROC_MAX} on the total number of processes under execution would be exceeded.
[EAGAIN] The system-imposed limit {CHILD_MAX} on the total number of processes under execution by a single user would be exceeded.
[ENOMEM] There is insufficient swap space for the new process.
See Also
execve(2), wait(2)
fork(2)