I was wondering what i have to put to make my menu run.
What problems are you having?
Your menu runs as is (after uncommenting the double semi-colons in the case statement; see below).
You do not need a shebang at the top of the file, but you should make the script executable. (You can run it without its being executable, by calling it as a argument to sh.)
Quote:
Here is my code:
When posting code, please format it so that it will fit into a typical screen. It is best to keep the number of characters per line below 80.
Quote:
Code:
############################################################### INTRODUCTION ###########################################################################
while true; do # While re-run function at the end of the script is true (e.g. # Y/y or N/n). Then do the following
echo temp >tempfile # Output the text "temp" to the file called tempfile
Don't write useless comments. It's obvious what those lines do.
Quote:
Code:
echo "------------------------------------------------" #
echo "***** Welcome to the HITS search *****" # Welcome messages to user
echo "------------------------------------------------" #
echo "This program will allow you to search for hits across all of your .hits files." # Information about the program, displayed to user
echo "It will output result based on your search criteria" #
What are ".hits files"? What do they contain? Does your search pattern match the format in the files?
Quote:
Code:
while true; do
{SNIP}
read CHOSEN_KEY
case $CHOSEN_KEY in
[1]) echo " "
echo "You Have Selected To Search All Files For Hits"
break;; # By using break i carry on my script which is what all the rest of the code does.
[2]) echo " "
echo "You Have Selected To Access Index Page Information"
###What do i put here to make it go to a new set of funtions###;;
You have commented out the ';;' so that the script will not run as is.
What "new set of functions" do you want to run? If it's in a separate script, just call that script; if not, you should probably use shell functions (which must be defined before they are called).
Quote:
Code:
Q|q) echo " "
echo "Goodbye"
exit;;
esac
done
############################################################### SEARCH MONTH ###########################################################################
while true; do # While month function is true (e.g. Jan, Feb, Mar, etc..) # Then do the following
{SNIP}
done # End function
grep $5 "$MONTH" hits/*.hits > tempfile # Match the month variable to months in column five in any hits # file in the hits directory and output the results to a file # called tempfile.
############################################################### SEARCH DATE ############################################################################
while true; do # While month function is true (e.g. Entering numbers between # 1 & 31). Then do the following.
{SNIP}
done # End function
grep $4 "$DATE" tempfile > tempmonth # Match the date variable to dates in column four in the # tempfile file that was created after the month function and # output the results to a file called tempmonth.
################################################################ SEARCH YEAR ###########################################################################
while true; do # While month function is true (e.g. 2005, 2006, or 2007..) # Then do the following
{SNIP}
done # End function
grep $8 "$YEAR" tempmonth > HITS # Match the year variable to years in column eight in the # tempmonth file that was created after the date function and # output the results to a file called tempmonth.
############################################################## OUTPUT FUNCTION #########################################################################
sleep 2 # Pause for two seconds
Why the pause?
You should make the script more user friendly by prompting for a date all in one go:
Code:
printf "%s " "Enter date in the format 'YEAR Month Day':"
read YEAR MONTH DAY
And put it and other parts of your script in their own shell functions to make the code easier to read and easier to test section by section:
Code:
getdate()
{
printf "%s: " "Enter date in the format 'YEAR Month Day'"
read YEAR MONTH DAY
## Supply functions check_year, check_month and check_date
check_year || return 1
check_month || return 1
check_date || return 1
}
while true; do
## print menu
printf "%s\n" "1. ..." "" "2. ..." "" "Q - Quit" ""
printf "%s: " "Enter your choice"
read option
case $option in
1) until getdate; do :; done
## do whatever
;;
2) : ## do whatever
;;
q|Q) exit
;;
done
I having problem when I call this cleanupmenu function within a script. It continuously loops and goes to selection * That wasn't a valid selection. I have to kill it everytime to stop it. What am I doing wrong. I use this function menu in several other scripts and I don't have this problem at... (2 Replies)
Below is my menu options code. It allows user to pick one of two option. I can get the first option to work, because if it is selected it just "breaks" and carries on with the script.
What i want to know is if a user selects option two how do i get that option to ignore all the other script and... (3 Replies)
Problem:
I am trying to create a menu in a menu script and I am running into an issue with the calculator portion of the script. I am first presented with the ==Options Menu== which all 5 options working correctly. Now comes the fun part. I select option 1 which takes me to my ==Calculator... (1 Reply)
Hi,
I have a script that copies a file from one directory to another and compiles it.
What I have now is a menu that calls functions and each function compiles the file.
I want to have a function that compiles the file at the end of the script if the user selects options 1-3 in the menu, but... (0 Replies)
Hi!
I have created on script which is working fine with menu options and with a sub-menu.
I want to enhance it by using sub-options under menu options.
Like.
option 1) will give the list only.
option 1.1) should give the option to user to choose one file, whose content user wanna see. ... (3 Replies)
hi all i am a newbie to this
is there any examples on creating a main menu with 3 sub menu
main menu -> option a , b and c
a menu -> option 1 ,2 and 3
b menu -> option 1 ,2
c menu -> option 1 ,2
i am getting headache as my code kept getting unexpected EOF
---------- Post... (0 Replies)
In the bash menu below if the variant that is inputted is in the format NM_004004.3:c.274G>T the below works perfectly. My question is if the variant inputted isNM_004004.3:-c.274G>T or NM_004004.3:+c.274G>T then the code as is will throw an error due to a biological issue. Is it possible to to... (1 Reply)
Hi All,
I have a menu driven scripts. As you know while running the script we have to input the option such as 1,2, and 3 to execute function accordingly. but after selecting the input we have to press Enter.
My requirement is to execute function as soon as we press the option.
Is there... (5 Replies)
I installed CentOS 8 with Gnome 3.28.2 and I noticed that the "switch user" menu item disappeared from under the system menu of Gnome classic (Both X11 & Wayland). I checked google and this problem seems to have a history going back several releases of Gnome.
Unfortunately, I never found a... (1 Reply)