Sponsored Content
Full Discussion: Sub menu's
Top Forums UNIX for Dummies Questions & Answers Sub menu's Post 13624 by Makaveli.2003 on Monday 21st of January 2002 09:15:36 AM
Old 01-21-2002
Quote:
Originally posted by Jimbo
Your main case statement should not try to process the replies from the sub-menus. That case statement, on a single execution, will process only a single response, and that will be a main menu response.

Each sub-menu, after painting the screen, needs to do its own read/case processing, then fall out the bottom or do a return. Follow your script and you will see that it is executing as coded: main loop calls Filefunctions, which paints the screen, calls PressEnter (no read has been done yet), then falls back to the main loop which starts the next main menu cycle.

You could code the main loop in such a way that its read/case processing would handle the responses from all main/sub menus. But this would not be a typical approach, and not as easy to maintain as the more modular approach.

Also, Deletedirectory and Changedirectory have if-statements that are not closed out.

These are the changes I made, are the case statements in the right place?? Still is not functioning, can u tell me nething else im doing wrong??

amenu () {
clear
echo "\t\t\tMy Personal Menu"
echo
echo "\t\tPlease Select:"
echo
echo "\t\t\t 1. Directory display"
echo "\t\t\t 2. File functions"
echo "\t\t\t 3. Directory functions"
echo
echo "\t\t\t 0. Exit"
echo Select by pressing a number and then ENTER ;
}

PressEnter () {
echo Press Enter
read x
}

DirectoryDisplay () {
ls -l|more
PressEnter
}

Filefunctions () {
clear
echo "\t\t\tFile functions Menu"
echo
echo "\t\tPlease Select:"
echo
echo "\t\t\t 5. Delete file"
echo
echo "\t\t\t 0. Return to main menu"
echo Select by pressing a number and then ENTER ;
PressEnter
}

Deletefile () {
print -n "Enter file name to be deleted: "
read name
if [ -f $name ]
then
rm $name
echo "file: $name has been deleted"
else
echo "this is not a file"
fi
PressEnter
}

read answer

case $answer in
5) Deletefile ;;

0) break ;;
esac

done
clear



Directoryfunctions () {
clear
echo "\t\t\tDirectory functions Menu"
echo
echo "\t\tPlease Select:"
echo
echo "\t\t\t 6. Delete directory"
echo "\t\t\t 7. Change directory"
echo
echo "\t\t\t 0. Return to main menu"
echo Select by pressing a number and then press ENTER ;
PressEnter
}

Deletedirectory () {
print -n "Enter directory name to be deleted: "
read name
if [ -d $name ]
then
echo "directory: $name has been deleted"
else
echo "this is not a directory"
PressEnter
fi
PressEnter
}

Changedirectory () {
print -n "Enter directory name to be deleted: "
read name
if [ -d $name ]
then
cd $name
else
echo "$name is not a directory"
fi
PressEnter
}



read answer

case $answer in
6) Deletedirectory ;;
7) Changedirectory ;;

0) break ;;
esac

done
clear


while true
do

amenu

read answer

case $answer in
1) DirectoryDisplay ;;
2) Filefunctions ;;
3) Directoryfunctions ;;

0) break ;;
esac

done
clear

Smilie Smilie Smilie Smilie Smilie
 

10 More Discussions You Might Find Interesting

1. Programming

i can't use 'make' in my computer?

I need to compile a file,but 'make' does not work.please tell me how to use it or need which tools? (3 Replies)
Discussion started by: dsun5
3 Replies

2. Shell Programming and Scripting

Clearify what it means under 'WHAT' when hit the 'w'-command

I wonder how I shall read the result below, especially 'what' shown below. The result was shown when I entered 'w'. E.g what is TOP? What is gosh ( what does selmgr mean?)? login@ idle JCPU PCPU what 6:15am 7:04 39 39 TOP 6:34am 6:45 45 45 TOP 6:41am ... (1 Reply)
Discussion started by: Aelgen
1 Replies

3. UNIX for Advanced & Expert Users

Terminal 'Local Echo' lost on Modem Dial-out

Can anybody help me? I am developing a utility for automating message paging to a BT alphanumeric pager. I am using a USR 56K Fax-modem connected to /dev/cuab on a Sun Ultra-10. I am using the UNIX 'tip' utility to connect to the modem and I have configured the modem as follows: Baud Rate:... (2 Replies)
Discussion started by: mybeat
2 Replies

4. Filesystems, Disks and Memory

HELP! The '/var/adm/message' file increase every few seconds???

Hi, guys, I have a big problem. I've got a sun solaris 4.1.4 workstation, and the /var/adm/message file will add one row every few seconds. It soon becomes a large file. I wander if there are some mistakes configuring the workstation. the /var/adm/message is as follow: ... (1 Reply)
Discussion started by: cloudsmell
1 Replies

5. UNIX for Dummies Questions & Answers

HELP! The '/var/adm/message' file increase every few seconds???

Hi, guys, I have a big problem. I've got a sun solaris 4.1.4 workstation, and the /var/adm/message file will add one row every few seconds. It becomes a large file in a short time. I wander if there are some mistakes configuring the workstation. the /var/adm/message is as follow: ... (3 Replies)
Discussion started by: cloudsmell
3 Replies

6. UNIX for Dummies Questions & Answers

quoting echo 'it's friday'

echo 'it's friday' why appear the > (3 Replies)
Discussion started by: yls177
3 Replies

7. IP Networking

BELKIN 'F5D5020' 16bit PCMCIA - FreeBSD HOWTO

Hey all, I've bought a few bits from Belkin who seem quite happy to support FreeBSD! Last time I bought a UPS from them and it's still going well :D I saw this on their website that the 16bit PCMCIA card was supported under FreeBSD: http://www.belkin.com/network/F5D5020.html I went to my... (0 Replies)
Discussion started by: WIntellect
0 Replies

8. Email Antispam Techniques and Email Filtering

Procmail recipe: blocking 'unsubscribe and opt-out' messages....

Here is a crude procmail recipe that I quickly created (NOT a procmail recipe expert, btw) that has been catching lots of spam (current second after the charset_spam recipe posted earlier): :0B * .*If.you.do.not.wish.to.receive...* more_spam :0B * You.requested.to.receive.this.mailing... (0 Replies)
Discussion started by: Neo
0 Replies

9. UNIX for Advanced & Expert Users

How to remove a file with a leading dash '-' in it's name?

Somehow someone created a file named '-ov' in the root directory. Given the name, the how was probably the result of some cpio command they bozo'ed. I've tried a number of different ways to get rid of it using * and ? wildcards, '\' escape patterns etc.. They all fail with " illegal option --... (3 Replies)
Discussion started by: GSalisbury
3 Replies

10. Shell Programming and Scripting

What are the differences between 'bash' and 'sh'

Hopefully this doesn't come off as too much of a "newbie" question or a flamebait. But I have recently begun working with a Sun Solaris box after having spent the past five years working with RedHat. From what i can tell, thing look fairly similar and the 'man' command is some help. But I've... (7 Replies)
Discussion started by: deckard
7 Replies
All times are GMT -4. The time now is 04:01 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy