I have been tasked to write this shell script in Linux and I dont know how to begin. Can anyone help me out with this please.:cry:

Create a shell script file called “lookup with a loop that prompts the user for a name to search on, reads a name the user inputs from the keyboard into a shell variable, prints the number of matches that are in your phonebook file as well as the matched name(s) and phone number(s), and keeps looping back until the user enters “quit. Turn in the final code for this script. If your script doesn’t work, you can still get partial credit based on how close to making it work you get. Full credit will require appropriate spacing, indentation to make your script code easier to read, comments within the script documenting your code flow, and user friendly features/prompts. This will require that you use shell script variables, input, output, counting and looping commands. Your script must contain those types of shell script operations in order to receive full credit.

You will need to change the permissions on the “lookup file so that it is executable before the script can be run, and you will also probably have to specify the path to the file to get it to run. (type /home/demo/lookup or ~/lookup or ./lookup)

Recommended Answers

All 11 Replies

Just curious, what kind of a class is this for? I would probably recommend using bash, it is the easiest. Do you have any type of shell scripting experience?

you refer to a phonebook file, is this just a text document, if so could I see an example?

This is for my UNIX class and I have to use preferrably Bash. I have very little experience thats why I need some help to get started.

what does the phonebook file look like?

lets go at it from this angle, what do you know about shell scripting or unix. Are you familiar with some commands?

I have a file called phonebook and these are the names in there. I am starting to learn the commands in my class, but dont know how to write scripts.

Auvenshine:Jason:PO Box 18076:85731:7905810
Sepulveda:Mary:7234 Lucky Lane:85705:5551212
Smith:John:3831 E. Camino Seco:85710:6034426
Crowder:Laura:PO Box 3261:85747:2771819
Garnett:Sharon:19872 S. Camino Verde:85744:7293888


I am guesing this assingnment is not do for a while?

Its due next week as an extra credit assignment, but I really like to figure this out.

all a script is is a bunch of commands done in order. Do you have any ideas? from there we can guide you.

This is what I have so far, let me know if this is the right, please:
The folder my phonebook is in is called 'phonebook'

1.Now how will I make the script search for names until I enter quit
2. Where would I put in the input value of the name, isnt it called '$1'
3. Also within the search I am doing, how can I make it display the name and phone number when I execute the program.
4. I think its the read command but I'm not sure

Finally, thanks for helping me out.


#! /bin/bash
phonebook=0
echo "Enter a name to search for"

I am pretty new to scripting my self, but have a little to offer. How come you are setting the value of phonebook to 0, what is your reasoning?

to collect input from a user you will need to use the read command, this will set the input to a variable that yoou can use in your loop.

Sorry for the delay I have been writing the code in my off time. How does this look, if its not perfect can you help me out.


#!/bin/bash
#My first script program
phonebook = 0
name = $1

#Enters a name to search for end exits if the user types end
echo "Enter a name to search for (type end to exit)"
read 1

ls- l| grep phonebook "$1"

#This is a loop to make sure a name is entered
if [$1= ]; then
echo "Please enter in a name"
fi

exit 0

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.