Maybe you could elaborate a bit on where exactly the problem is?
I don't think I have found your actual problem, but I have a number of comments on the code. Maybe a few of these will help also solve your problem, either coincidentally or by simplifying something which got too complex at some point.
Quote:
# This scripts ejects IP tapes from the STK9310 silo via ACSLS Commands from plebsb01.
# Scripter : 1/31/07
#!/bin/ksh
The #!/bin/ksh line needs to be the very first line of the script.
Quote:
EJECT_CAP1()
{
echo "Ejecting to CAP 0,2,1"
# /opt/OMIdtelm/bin/eject_vol -t 3600 -c 0,2,1 -l $EJECTED_TAPES | tee $EJECT_LOG;
echo "Ejecting Completed"
}
EJECT_CAP1()
{
echo "Ejecting to CAP 0,2,2"
# /opt/OMIdtelm/bin/eject_vol -t 3600 -c 0,2,2 -l $EJECTED_TAPES | tee $EJECT_LOG;
echo "Ejecting Completed"
}
This is not very modular. How about a single EJECT function which you'd call with an argument which is either 1 or 2?
So further down in the script you would have EJECT 1 or EJECT 2 (or simply pass whatever number the user supplied, if it's within range -- anyway, you need to adapt the rest of the script, obviously).
Quote:
TOT_TAPE_CT_EJECTED=`cat $EJECT40 | wc -l`
You have this idiom throughout. This is known as Useless Use of Cat. You can just as well say `wc -l <$EJECT40`
Quote:
echo "Select TAPE CAP TO Eject to: Enter 1 for CAP1 or 2 for CAP2 (1,2)"; read cap_option
echo $cap_option
case $cap_option in
1) EJECT_CAP1 ;;
2) EJECT_CAP2 ;;
*) echo "Invalid Selection - Please Re-enter"
esac
This looks like it's supposed to loop back and ask again if the option was not valid. You could simply "return" from the function at that point in case of invalid input to at least avoid manipulating the log etc when nothing was actually done. Or put this in an endless while true loop and break out of the loop when a valid option was selected.
This also incorporates the new modular EJECT function from above. I left out the echo because the user's own input will already be visible on the screen. (I'd take out a few of those sleeps, too.)
Quote:
while read volume until EOF
I suppose this is supposed to be like this, read three space-separated fields into $volume, $until, and $EOF -- or is this pseudo-code?
PS. Please use code tags, especially when posting long programs
Last edited by era; 04-22-2008 at 03:54 PM..
Reason: Code for revamped case statement, too; point out [code] tags
If you listen to the files on the computer with ears, your eyes are protected.
Microsoft Text-To-Speech(TTS) voice engine has been installed by default on Windows 2000, XP, Vista, you can find what voice engines have been installed on the computer by following Control Panel->Speech->Speech... (0 Replies)
Original code used fwrite instead of putc.
What is expected is that the destination file will be written to. Instead I end up with a zero length file. I'm sure there is something simple I'm missing.
tia.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char... (6 Replies)
Hi ,
I am trying to execute the following script.
#!/bin/sh
find . -name "common.log.diff"
if ; then
cp common.log common.log.diff
diff common.log common.log.diff > DIFFERENCE.log
cp common.log common.log.diff
grep "ERROR" DIFFERENCE.log
if ; then
echo "1"
else
echo "0"
fi... (5 Replies)
Hi all,
Let me first start out by saying I'm a perl newbie and hope somebody can help, for the life of me I can't figure out why my script will not find and download a remote file via FTPSSL. What it's supposed to do is find the latest file named... (4 Replies)
Hey everyone,
I have a problem with a certain shellscript. I have a script like this:
#!/bin/sh
template=$1
for values in {60,150,240,330}\ {60,150,240,330}\ {60,150,240,330}\ {60,150,240,330}; do
set $values
X=$1; Y=$2; Z=$3; M=$4
mkdir "X$X-Y$Y-Z$Z-M$M"
cp... (2 Replies)
What I'm trying to do is leave a tcpdump running all the time on a server, and at the end of every day kill it and start a new one. For some reason my boss doesn't want to set this up as a cron job, so I've come up with the following.:
#!/bin/bash
PCAPFILE=/tmp/mgmt.$(date... (8 Replies)
Hi,
We have created a script that's checks the latency of IIDR subscription by fetching details from a config file (that contains subscription details) and running the CHCCLP command. The out put is then concatenated in a csv file. Once all subscription details are saved the script send a mail... (7 Replies)