Question about SH


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Question about SH
# 1  
Old 11-28-2002
Question about SH

I'm currently writing a script that prompts the user for a bunch of response's then executes a command.

Just before I execute the commands I ask the user if all the info they just entered is correct.

If they say yes then I executed the command, if I say no I just rerun the script so it starts over, however I run into problems at the end of the script, it asks them to exit the script twice.

sh doesn't seem to have a goto command.. how would I write this into a shell that supports goto or how can I rewrite this to allow the user to goto the top with out starting the script over again.

This is my script
Code:
sleep 1
date=`date +%Y%m%d%H%M%S`
clear
echo "Please enter your station #\n"
read station
if [ "$station" = "exit" ]; then
   exit
fi
clear
echo "Enter more data"
read data1
if [ "$data1" = "exit" ]; then
   exit
fi
clear
echo "Enter your campaign eg. 999999"
read campaign
if [ "$campaign" = "exit" ]; then
   exit
fi
clear
echo "Enter your ID. eg. 9999zz"
read agentid
if [ "$agentid" = "exit" ]; then
   exit
fi
clear
echo "Station your at = $station"
echo "Data = $data"
echo "Campain = $campaign"
echo "Your agent id = $agentid"
echo "Is the above info correct?  (y or n)"
read info
filename=$campaign"_"$date$data$agentid"_"
if [ "$info" = "Y" -o "$info" = "y" ]; then
    command "start record l $station $filename"
    echo "  \n"
    echo "Recording is now started for Line $station "
    sleep 5
    clear
else
   if [ "$info" = "N" -o "$info" = "n" ]; then
      clear
     #echo "thank you N works"
      ./script
  else
         echo "Please make sure your response is either "y" or "n" "
         sleep 2
         clear
         ./script
   fi
fi
sleep 1
echo "Please press Y when ready to stop Recording"
read end
if [ "$end" = "Y" -o "$end" = "y" ]; then
     clear
     command "stop record l $station"
     echo "Your recording is now stoped\n"
     echo "GoodBye\n"
else
    clear
    command "stop record l $station"
    echo "You hit a key other then \"y\" stoping recording anyway"
    sleep 2
fi
exit

Any help would be great, thanks.

(Code tags added by Perderabo)

Last edited by Perderabo; 11-29-2002 at 09:43 AM..
# 2  
Old 11-29-2002
You should use functions in your shell script.

Oh and it is good pratice to give exit statements a value.

i.e.
Code:
# My Function
GetStation ()
{
  sleep 1 
  date=`date +%Y%m%d%H%M%S` 
  clear 
  echo "Please enter your station #\n" 
  read station 
  if [ "$station" = "exit" ]; then 
    exit 3  
  fi
}

# Main code
GetStation

# 3  
Old 11-29-2002
To loop, we usually use a while statement. You can use an infinite loop and just exit when you are done. You also use "break" to get out of an infinite loop.

To be a strict constructionist you can also do:

LOOPING=true
while [ $LOOPING = true ] ; do

and then set LOOPING=false inside the loop when you're done.
Login or Register to Ask a Question

Previous Thread | Next Thread

7 More Discussions You Might Find Interesting

1. AIX

df question

Hi, Can anyone please explain a little about df command. I have following question: Following example is showing % used as 4 where as total free blocks are 15.46 out of 16.00 MB blocks. df -m /test Filesystem MBblocks Free %Used Iused %Iused ... (5 Replies)
Discussion started by: itsabhi9
5 Replies

2. Hardware

question

How to add 3 moniters to a pc set up? (2 Replies)
Discussion started by: clicstic
2 Replies

3. Shell Programming and Scripting

question about wc

Hey my friend was asking me if i knew a way to cout how many different words in a file. I told him no not off hand, but i was thinking about it, and i started to wonder also. I imagine this is probably pretty simple im just missing something, I keep confusing my self with how you would compair and... (16 Replies)
Discussion started by: yodadbl07
16 Replies

4. UNIX for Dummies Questions & Answers

Question

hallo, ik heb hier een vraagje. hoeveel gebruikers kunnen er op 1 unix systeem. hopelijk antwoorden golle nu want ik moet da vinde voor school en die leerkracht zaagt. :p groetjes eu wacht wa was mijne nick ah ja vraagje groetjes vraagje ik kan geen engels dus antwoord liever in het... (1 Reply)
Discussion started by: vraagje
1 Replies

5. UNIX for Dummies Questions & Answers

mv question

Hello if I like to move file from defined directories system to new directory that not contained any directories system structure . But I like to create the same file system structure as source directory for example : I have 2 directories: foo1 and foo2 foo1 have directories and foo2 have... (2 Replies)
Discussion started by: umen
2 Replies

6. Solaris

vi question

Im trying to edit a 113 meg file in VI and i get the error TMP FILE TOO LARGE. Does someone know how to get around this? Thanks! (1 Reply)
Discussion started by: BG_JrAdmin
1 Replies

7. Programming

Yet Another Question

Now that I have getch() to work, I have yet another problem. BTW, thank you for answering these questions, I do ask a lot, only because I am eager to know, what is a board used for anyways :) Ok, he's the problem... #include iostream.h #include conio.h int main() { char movement; ... (2 Replies)
Discussion started by: mbolthouse
2 Replies
Login or Register to Ask a Question