Implement in shell a "telephone book" program, which works according to the description given below (lines starting with "--" are comments, user inputs are in bold face, programs responses are in lower case. In the actual execution, user commands can be in lower/upper case). Note: do not use tools such as sed or awk, only standard shell.
$ book ~/misc/book doesn't exist, do you want to create one (y/n)? y
response on the same line. If ~/misc/book already exists, the execution starts from the menu as given below:
~/misc/book created -- or nothing if it already exists
There are 5 users on the system -- or 3, or 1, etc
Available commands:
1. Look someone up
2. Add someone to the phone book
3. Remove someone from the phone book
4. List all names and numbers in the phone book
5. Change the prompt
6. See the menu
7. Exit the program
Please select one of the above (1-6): 2
Type in your entry, terminate with a single RETURN on the line:
STEVEN BARK
778 MAIN STREET
WOLFVILLE
542-2201
Steven Bark added to the book
: 5 -- Menu is not shown, ":" is a prompt
Type in your new prompt: Yes my dear :
Yes my dear: 5
Type in your new prompt: -- just RETURN, to use default prompt
: 8
? -- book doesn't know it
: 2
Type in your entry, terminate with a single RETURN on the line:
STEVEN LONG
118 UNKNOWN STREE T
KENTVILLE
678-2201
: 6
Would you like to:
1. Look someone up
2. Add someone to the phone book
3. Remove someone from the phone book
4. List all names and numbers in the phone book
5. Change the prompt
6. See the menu
7. Exit the program
Please select one of the above (1-6): 1
Enter name to look up: LONG
There is 1 item(s):
#1:
STEVEN LONG 118 UNKNOWN STREET KENTVILLE 678-2201
: 1
Enter name to look up: 2201
There is 2 item(s):
#1:
STEVEN LONG 118 UNKNOWN STREET KENTVILLE 678-2201
#2:
STEVEN BARK 778 MAIN STREET WOLFVILLE 542-2201
: 3
Enter name to remove: 542
There is 1 item(s):
STEVEN BARK 778 MAIN STREET WOLFVILLE 542-2201
Do you want to remove it? (y/n): Y
: 7
$
Hand in the source and the script of the execution.
Hint. The shell procedure shown below displays the number of lines in the file whose name is passed on the command line