Please help with this script.


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Please help with this script.
# 1  
Old 05-15-2010
Please help with this script.

Hi guys,

I am very much a new unix user so please be nice.

I have a problem that I am trying to solve and I hope you can help.

I am trying to create a script that asks a user to make a choice of his favoritre sweets from a menu of 3. The user then must choose from 3 .txt files to recieve further information. unitll he chooses the appropriate .txt file in accordance to the sweet he will recieve an error msg.

So...

The program displays a menu asking the user to choose from three different sweets. (Snickers, Twix and bounty).

Code:
echo 
echo "1) $Sweet1"
echo 
echo "2) $Sweet2"
echo 
echo "3) $Sweet3"
echo   

echo "Please enter the code of your chosen module: \c"
read SWEET_CHOICE

while [ $SWEET_CHOICE != $sweet1 ] && [ $SWEET_CHOICE != $sweet2 ] && [ $SWEET_CHOICE != $sweet3 ]
do
echo ""
echo "Invalid choice. Please enter your chosen sweet again:"
read SWEET_CHOICE

Once I have an appropriate choice stored in the variable SWEET_CHOICE. I need the program to display three file names (Already created called snickers twix bounty) after the user types the file name, if the file name is correct the contents will be displayed. If the user types the wrong file the program will promt for him/her to try again untill they pick the appropriate file.


Any help with this second part would be hugely appreciated. I would appreciate any ideas in script or in theory, so dont hessitate to shout at me for being stupid!

Kind regards

Si

Last edited by Scott; 05-15-2010 at 09:59 PM.. Reason: Please use code tags
# 2  
Old 05-15-2010
This sounds like homework....
# 3  
Old 05-15-2010
probably is, but at least he's offered up a sense of direction...

SDKC: Once you've read the forum rules, and promise not to dump assignments on the unsuspecting samaritans on the site ever again, you'd probably get familiar with the search facility in the upper right-hand corner. You'll find loads of menu-style prompt scripts scattered around the site...in various states of disrepair.
# 4  
Old 05-15-2010
Quote:
Originally Posted by curleb
probably is, but at least he's offered up a sense of direction...
Irrelevant. Homework questions should be posted in the appropriate forum. It's there for a reason.

Quote:
Originally Posted by curleb
SDKC: Once you've read the forum rules, and promise not to dump assignments on the unsuspecting samaritans on the site ever again, you'd probably get familiar with the search facility in the upper right-hand corner. You'll find loads of menu-style prompt scripts scattered around the site...in various states of disrepair.
Good point.
# 5  
Old 05-15-2010
See that, scottn? Only two posts and he's already on his way to being a good citizen of the forum... Smilie Some folks aren't so quick to grasp the value of the generosity that is this site.

SDKC: Ignore the extraneous parts of this link's thread, such as color-coding, n/curses, etc, and you'll see pretty much the same thing as your target. Forget the candy options, abstract them into whatever and you've empiricized your task that much further...which, after all, is really all you're going to need to succeed. Boil it down and tackle it with the right set of tools. https://www.unix.com/shell-programmin...nu-script.html

Hope this helps and good luck.
# 6  
Old 05-15-2010
Thanks:

I am certainly not looking to waste anyones time, it is indeed one of the final sections of my coursework.

I was really just looking for direction, an idea perhaps of how I could resolve the question.

I appreciate your help, I shall begin searching menu's and cross fingers I am able to find some examples that may come in handy.

Kind regards

Si
# 7  
Old 05-15-2010
Wrench

As worded people would choose menu option 1/2/3 rather than type the name.

This script illustrates how to let the user enter the value again within a do-done loop and incorporates a simple way of exiting that loop with "break".
It is not a full solution because my data files were called 1.txt, 2,txt, 3.txt , and my menu options are not variables, and the my prompt message is different ... etc..

Code:
#!/bin/ksh
while true
do
     echo 
     echo "1) snickers"
     echo
     echo "2) twix"
     echo
     echo "3) bounty"
     echo

     echo "Please enter your chosen sweet: \c"
     read SWEET_CHOICE

     # Exit on null input
     if [ "${SWEET_CHOICE}""X" = "X" ]
     then
           break
     fi

     # Test for valid options
     if [ -f "${SWEET_CHOICE}.txt" ]
     then
         cat "${SWEET_CHOICE}.txt"
         break
     else
         echo "Invalid choice."
     fi
done

 
Login or Register to Ask a Question

Previous Thread | Next Thread

5 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How to block first bash script until second bash script script launches web server/site?

I'm new to utilities like socat and netcat and I'm not clear if they will do what I need. I have a "compileDeployStartWebServer.sh" script and a "StartBrowser.sh" script that are started by emacs/elisp at the same time in two different processes. I'm using Cygwin bash on Windows 10. My... (3 Replies)
Discussion started by: siegfried
3 Replies

2. Shell Programming and Scripting

Shell script works fine as a standalone script but not as part of a bigger script

Hello all, I am facing a weird issue while executing a code below - #!/bin/bash cd /wload/baot/home/baotasa0/sandboxes_finance/ext_ukba_bde/pset sh UKBA_publish.sh UKBA 28082015 3 if then echo "Param file conversion for all the areas are completed, please check in your home directory"... (2 Replies)
Discussion started by: ektubbe
2 Replies

3. UNIX for Dummies Questions & Answers

Calling a script from master script to get value from called script

I am trying to call a script(callingscript.sh) from a master script(masterscript.sh) to get string type value from calling script to master script. I have used scripts mentioned below. #masterscript.sh ./callingscript.sh echo $fileExist #callingscript.sh echo "The script is called"... (2 Replies)
Discussion started by: Raj Roy
2 Replies

4. Shell Programming and Scripting

Script will keep checking running status of another script and also restart called script at night

I am using blow script :-- #!/bin/bash FIND=$(ps -elf | grep "snmp_trap.sh" | grep -v grep) #check snmp_trap.sh is running or not if then # echo "process found" exit 0; else echo "process not found" exec /home/Ketan_r /snmp_trap.sh 2>&1 & disown -h ... (1 Reply)
Discussion started by: ketanraut
1 Replies

5. Shell Programming and Scripting

create a shell script that calls another script and and an awk script

Hi guys I have a shell script that executes sql statemets and sends the output to a file.the script takes in parameters executes sql and sends the result to an output file. #!/bin/sh echo " $2 $3 $4 $5 $6 $7 isql -w400 -U$2 -S$5 -P$3 << xxx use $4 go print"**Changes to the table... (0 Replies)
Discussion started by: magikminox
0 Replies
Login or Register to Ask a Question