This is a high-level explanation, if more details are needed, please do not hesitate to ask.
I have a set of .ctl files which I want to execute:
AV1.ctl
AV2.ctl
AV3.ctl
I have a script which has a for loop in it:
for filename in AV1 AV2 AV3
do
. execute_another_script.sh
done
The "execute_another_script.sh" has a bunch of commands and they all exit with a return code. I then want to modify my script so that once it executes the "execute_another_script.sh" script I can get the return code from that script.
I have tried the following:
for filename in AH1 AH2 AH3
do
. execute_another_script.sh
echo $?
done
But that doesn't work, the "execute_another_script.sh" gets executed, but I do not get the return_code printed in the log file.
If I get rid of the '.' I get the return code but the variable $filename is not being read by the '.execute_another_script.sh' script.
I am not sure if I am calling the script correctly, do I need the '.'?
Calling a script with the use of the "dot-space" notation causes the script to be sourced in the current environment, that is, all the variables contained in the script will be available for use outside (in the for loop).
You can obtain the same effect with the bash "source" command builtin (have a look at bash man page). According to that, the return status will be the status returned by the last executed command in the script, so your code should be ok.
Maybe you're not using bash, other shells could possibly behave differently (I don't know).
Anyway, I don't see the need for you to call the script in that way, simply modify your "execute_another_script.sh" script, let it read the $1 variable from the command line and pass directly the "filename" value to the script in the for loop:
Not sure if this is of any use but......
I was messing around with getting return codes greater than 255 for special usage...
Of course the code could be made simple but in this code the new stored return code
is generated as exit is progressing...
#!/bin/sh
# Real and imaginary return... (9 Replies)
Having searched high and low through Oracles documentation, I came to think that they're very scripting-averse, as there's (apparently) no list of possible return/exit codes for their various command line utilities.
Is anyone here in possession of such a list, or knows where to find one? It... (16 Replies)
Hi,
I wanted to know the significance of different return codes when we do echo $?
I know when $? returns 0 the command has worked successfully.
but what does $? = 1, 2, 3 etc. signify.
Thanks in advance for the help !!! (3 Replies)
sftp -v b $putlist $SFTP_ID@TARGET_SERVER
How can I get a return code if fails to put the file?
sftp -v b $getlist $SFTP_ID@TARGET_SERVER
How can I get a return code if fails to put the file? (1 Reply)
Hi
In an unix script I am using an Perl one liner perl -i -ne '-----'
If the perl one liner fails i am not able to catch the return code.
It always give 0 as return code. Can you tell me how can i catch the return code
perl -i -ne '---'
RETCODE=$?
echo $RETCODE
Thanks and Regards
Ammu (2 Replies)
Can any body please tell me the return codes of RDIST tool?
I am using RDIST (through an UNIX script) to synchronize files between two servers say ukblx151(source) & ukapx050(target).
RDIST raises an alert mail (through notify option) in case of success & also failure but there is a problem if... (0 Replies)
Hi,
Can anyone tell me if there are return codes for SFTP? If so how would you capture them? I've tried 'man sftp' but its not particularly helpful.
Many thanks
Helen :confused: (4 Replies)
Suppose I have a script which is monitoring a directory
whenever a file drops in that directory,it sends alert
say I want to write a return code for the above script
which on successful execution of script gives a return value
Based on return code , I want to do initiate some jobs in other... (1 Reply)
I have the below script I am running on a Solaris system to check the status of a Tivoli Workload Scheduler job and return the status. We need this script to return a '0' if any of the jobs in the stream are in a "EXEC" state and an "1" if in a "HOLD" state. I am not a programmer so I am not sure... (1 Reply)