10-23-2007
Well...the short answer is "you can't do that". In the above example, the return code is lost.
One answer is to write the return code to a file:
(myscript.sh; echo $? > /tmp/rc1) &
wait
RC1=$(cat /tmp/rc1)
You would need to make sure the temporary file is unique, but this should work. There aren't any elegant solutions, really.
10 More Discussions You Might Find Interesting
1. UNIX for Advanced & Expert Users
I have a KornShell script that has successfully been scheduled through Cron. We are in the process of changing over from Cron to using CA-Unicenter. To negative test the script I put a bad return code in. At the bottom of the script an e-mail is sent using mailx and then the return code is set... (1 Reply)
Discussion started by: Connie
1 Replies
2. Shell Programming and Scripting
Hi friends,
I have to do the following things :
1) there should be a shell script returning the returning the return code of the script. and i have to add some more details like on which machine is has run , at what time and other details and then using plsql i have to add a row to Oracle... (3 Replies)
Discussion started by: sveera
3 Replies
3. Shell Programming and Scripting
I am using the following code in my shell script
list=`sqlplus -s $user/$pwd@$dbms<<EOF
WHENEVER SQLERROR EXIT SQL.SQLCODE
set pagesize 0 feedback off verify off heading off echo off
select * from control_tbl
where src_nm=$3
and extrct_nm=$4;
exit SQL.SQLCODE;
EOF`
ERROR=$?... (1 Reply)
Discussion started by: Vikas Sood
1 Replies
4. UNIX for Dummies Questions & Answers
Hi All,
Can anyone please let me know the syntax / how to pick up the Return Code ( RC) from the mailx command and return it to SAS uisng 'system()' function and '${?}'.
I am in a process to send the mail automatically with an attachment to bulk users. I have used 'Mailx' and 'Unencode'... (0 Replies)
Discussion started by: manas6
0 Replies
5. Shell Programming and Scripting
I have a automated FTP script that gets a file using mget. I am using mget because the date will change on the file frequently. The mget works, however if I incorrectly type the file (e.g. if I want to get /dog123 and I enter /dg*) I do not receive and error code from in the FTP session. The... (1 Reply)
Discussion started by: dog123
1 Replies
6. HP-UX
Hi
I'm writing a shell script that connects to oracle database and fires query to check the availability of data in a table. In case of no data found then what will be the return code and how to handle in that in variable. Kindly provide with an example for better understanding... Thanks... (1 Reply)
Discussion started by: ksailesh
1 Replies
7. Shell Programming and Scripting
Folks -
Firstly, I do apologize that my first post here is a question. I am quite familiar with UNIX since our application is running on it. We are trying to automate a few things on our end and I am challenged with a task in hand that requires UNIX scripting. I am totally a newbie in UNIX... (4 Replies)
Discussion started by: sk72
4 Replies
8. Shell Programming and Scripting
Hi
I am executing database backup via shell script (Korn). The backup log is long, but I would like to capture only the last line so I can send an email if it fails
Example of failed backup (only last 3 lines)
BR0056I End of database backup: bejbofoh.aff 2012-07-26 07.31.21
BR0280I... (7 Replies)
Discussion started by: nimo
7 Replies
9. Shell Programming and Scripting
Hi, I need to send the return code from a script to the parent shell script.
But i am suppressing outputs while calling the child script.
Is there any way still to get the return code from the child script with suppress output.
Below is my script:
I am using :$ while calling return.sh... (5 Replies)
Discussion started by: usrrenny
5 Replies
10. UNIX for Beginners Questions & Answers
Hi All,
I'm new to unix and I have a requirement to execute a shell script and get the return code/Exit code and send it in email. Meaninig we execute a script which in turn execute a shel script and fetches it\s return code and send it to email. I tried the code below as :
... (2 Replies)
Discussion started by: midhun3108
2 Replies
FLOCK(1) User Commands FLOCK(1)
NAME
flock - manage locks from shell scripts
SYNOPSIS
flock [options] <file|directory> <command> [command args]
flock [options] <file|directory> -c <command>
flock [options] <file descriptor number>
DESCRIPTION
This utility manages flock(2) locks from within shell scripts or the command line.
The first and second forms wrap the lock around the executing a command, in a manner similar to su(1) or newgrp(1). It locks a specified
file or directory, which is created (assuming appropriate permissions), if it does not already exist. By default, if the lock cannot be
immediately acquired, flock waits until the lock is available.
The third form uses open file by file descriptor number. See examples how that can be used.
OPTIONS
-s, --shared
Obtain a shared lock, sometimes called a read lock.
-x, -e, --exclusive
Obtain an exclusive lock, sometimes called a write lock. This is the default.
-u, --unlock
Drop a lock. This is usually not required, since a lock is automatically dropped when the file is closed. However, it may be
required in special cases, for example if the enclosed command group may have forked a background process which should not be hold-
ing the lock.
-n, --nb, --nonblock
Fail rather than wait if the lock cannot be immediately acquired. See the -E option for the exit code used.
-w, --wait, --timeout seconds
Fail if the lock cannot be acquired within seconds. Decimal fractional values are allowed. See the -E option for the exit code
used.
-o, --close
Close the file descriptor on which the lock is held before executing command . This is useful if command spawns a child process
which should not be holding the lock.
-E, --conflict-exit-code number
The exit code used when the -n option is in use, and the conflicting lock exists, or the -w option is in use, and the timeout is
reached. The default value is 1.
-c, --command command
Pass a single command, without arguments, to the shell with -c.
-h, --help
Print a help message.
-V, --version
Show version number and exit.
EXAMPLES
shell1> flock /tmp -c cat
shell2> flock -w .007 /tmp -c echo; /bin/echo $?
Set exclusive lock to directory /tmp and the second command will fail.
shell1> flock -s /tmp -c cat
shell2> flock -s -w .007 /tmp -c echo; /bin/echo $?
Set shared lock to directory /tmp and the second command will not fail. Notice that attempting to get exclusive lock with second
command would fail.
shell> flock -x local-lock-file echo 'a b c'
Grab the exclusive lock "local-lock-file" before running echo with 'a b c'.
(
flock -n 9 || exit 1
# ... commands executed under lock ...
) 9>/var/lock/mylockfile
The form is convenient inside shell scripts. The mode used to open the file doesn't matter to flock; using > or >> allows the lock-
file to be created if it does not already exist, however, write permission is required. Using < requires that the file already
exists but only read permission is required.
[ "${FLOCKER}" != "$0" ] && exec env FLOCKER="$0" flock -en "$0" "$0" "$@" || :
This is useful boilerplate code for shell scripts. Put it at the top of the shell script you want to lock and it'll automatically
lock itself on the first run. If the env var $FLOCKER is not set to the shell script that is being run, then execute flock and grab
an exclusive non-blocking lock (using the script itself as the lock file) before re-execing itself with the right arguments. It
also sets the FLOCKER env var to the right value so it doesn't run again.
EXIT STATUS
The command uses sysexits.h return values for everything else but an options -n or -w failures which return either the value given by the
-E option, or 1 by default.
AUTHOR
H. Peter Anvin <hpa@zytor.com>
COPYRIGHT
Copyright (C) 2003-2006 H. Peter Anvin.
This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICU-
LAR PURPOSE.
SEE ALSO
flock(2)
AVAILABILITY
The flock command is part of the util-linux package and is available from Linux Kernel Archive <ftp://ftp.kernel.org/pub/linux/utils/util-
linux/>.
util-linux September 2011 FLOCK(1)