Visit Our UNIX and Linux User Community


major help needed phone dir script need advancing


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting major help needed phone dir script need advancing
# 1  
Old 08-29-2009
major help needed phone dir script need advancing

dam i stuck i am trying to write a script that is a basic phone book so i can enter a name or number or both into the scripts and by

using positional paramiters the script will check if the name has a number in it and warn that numbers are not allowed with names, if i

enter a number then the script will check to see if the number has 8 numbers and the first number is not a zero.

this is a example of how i want to run my script
names entered here are for example only

./dir.sh "john smith"
./dir.sh "john smith" 12345678
./dir.sh 87654763
./dir.sh adam

so this is NOT allowed in my script

./dir.sh "john smith1"
./dir.sh 01234567

so as you can see i need to tell the positional paramiters how to filter the user input using $1 $2 any help with this would be very

apreciated.



My broken code so far:


#! /bin/sh

clear

# This code checks to make sure the book.txt file is there and can be read/writen to
if [ -f book.txt ] && [ -r book.txt ] && [ -w book.txt ]

then
echo "\n"
else
echo "book.txt file does not exist script exiting"; exit
fi




# Here is the code to check the name entered is only letters no numbers
name= $1
case $1 in
*) [ ! a-zA-Z ];; *) echo "INVALID NAME";;
*) echo OK ;;
esac




# This code checks to make sure only 8 numbers are used and that the first number is not a zero
case $2 in
[0-9]*) if [ `echo $2 | wc -c` -ne 9 -o `echo $2 | cut -c1` -eq 0 ]; then
echo "No zero as the first number and length must be 8 numbers long"
else
echo yes
fi
;;
*)
echo usage
;;
esac
# 2  
Old 08-29-2009

What's the question?

You have been shown how to check that the name doesn't contain numbers (although you have mangled it in your script -- go back and copy it exactly).

To find the length of a variable use ${#var}.

I don't know why you want to limit the length of a phone number to 8 digitrs; mine has 10, more if you include the country code.
# 3  
Old 08-29-2009
I don't know why you want to limit the length of a phone number to 8 digitrs; mine has 10, more if you include the country code.

well i need 8 digits so that is why im making the code to limit to 8 and zero is not alowed to be in the first digit ok

---------- Post updated at 07:27 PM ---------- Previous update was at 07:24 PM ----------

i need only 8 digits that is why im making the code to limit to 8 and the first digit must not be a zero ok
# 4  
Old 08-30-2009

So what's your question?
# 5  
Old 08-30-2009
the code to verify name and number are clashing if for example i start my script with ./book.sh 12345678 then the code to check if the number is 8 digits long and no zero as first number wont work as that is set to the second positional paramiter.

so i need a way to set the script to use both verifiers no mater if i use one or two inputs to start the script, so i guess im asking how do i mix my positional paramiters ;-) example

./book.sh "john smith"
./book.sh "john smith" 12345678
./book.sh 87654763
./book.sh adam

so this is NOT allowed in my script

./book.sh "john smith1"
./book.sh 01234567
# 6  
Old 08-30-2009
Hi.

You can use a case statement for this
Code:
while [ $# -gt 0 ]; do
  case "$1" in
    [A-Za-z]*[0-9]*) echo "Invalid name: $1";;
    [0-9]*[A-Za-z]*) echo "Invalid number: $1";;
    [1-9]*) echo "Number: $1";;
    [A-Za-z]*) echo "Name: $1";;
    *) echo "Invalid input: $1"
  esac
  shift
done

As you already know how to check if the number is 8 digits, I'll leave that to you

Last edited by Scott; 08-30-2009 at 12:07 PM.. Reason: removed commented code
# 7  
Old 08-30-2009
thank you very much for the code scottn that helped me very much its perfect for my script Smilie

Previous Thread | Next Thread
Test Your Knowledge in Computers #223
Difficulty: Easy
In September 2019, according to NetMarketShare, Windows had just over 87% of the global desktop market, followed by Mac OS at close to 10%, and Linux in third place at around 2%.
True or False?

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Script to move all files in a dir into a certain dir

Hello all, I'm very new to shell scripting and need quite urgently to do this thing for my student job. I have a directory called "vectors" with a bunch of files all named ".vector". also i have for each of those files a directory with the name . I now want to move each of those *.vector files... (2 Replies)
Discussion started by: sherresh
2 Replies

2. Shell Programming and Scripting

Need a script to move the files from one dir to other other dir

Need a script to move the files from one dir to other dir and at the same time it has to read the log in the source dir. Please help me ASAP. (4 Replies)
Discussion started by: viswanathkishor
4 Replies

3. Shell Programming and Scripting

Perl script :- Phone number validation

Hi All, I am doing a perl script validation for Phone numbers. The normal phone number format is 01-32145. I need to do two validations for the phone number 1) A valid phone number can have at least two digits as prefix and at least five digits as postfix. e.g. 01-01011 2) A... (5 Replies)
Discussion started by: subin_bala
5 Replies

4. Shell Programming and Scripting

A script to find dir, delete files in, and then del dir?

Hello!! I have directories from 2008, with files in them. I want to create a script that will find the directoried from 2008 (example directory: drwxr-xr-x 2 isplan users 1024 Nov 21 2008 FILES_112108), delete the files within those directories and then delete the directories... (3 Replies)
Discussion started by: bigben1220
3 Replies

5. Shell Programming and Scripting

Help me to create a phone book using shell script

Hi guys... can any one help me out with creating a phone book: CP5290 Assignment: Phonebook Due 4 pm Friday 25th September 2009 Weight: 15% You are to implement a Phonebook using Shell scripting and UNIX command line utilities and commands. Some documentation will also be... (1 Reply)
Discussion started by: monster11209
1 Replies

6. Shell Programming and Scripting

Phone Shell Script !?

could you please find a solution for this script (called phone) that creates a simple telephone list (create an empty file called “phonlist” in home directory) . Each line in this file consist of two fields name and the phone number, the script should do the following: When user types the... (1 Reply)
Discussion started by: anything
1 Replies

7. Shell Programming and Scripting

a script to clone a dir tree, & overwrite the dir struct elsewhere?

hi all, i'm looking for a bash or tcsh script that will clone an empty dir tree 'over' another tree ... specifically, i'd like to: (1) specify a src directory (2) list the directory tree/hiearchy beneath that src dir, w/o files -- just the dirs (3) clone that same, empty dir hierarchy to... (2 Replies)
Discussion started by: OpenMacNews
2 Replies

8. UNIX for Dummies Questions & Answers

Major Help Urgently Needed!!!!

Right deleted Linux partition usig windows then went to format c:\ but had to exit window now pc ONLY boots into GNU Grub. Does anyone know how to format the hard drive now????? (3 Replies)
Discussion started by: billett05
3 Replies

9. Shell Programming and Scripting

script to go to a different dir to run a commandline prompt in that dir

Hi, I need to know how I'll be able to write a script that can goto a different dir where I don't have access to read,write and execute and also to run a commandline prompt in that dir with one file whose path has to be specified in that command. Will I be able to do this? Any ideas or... (2 Replies)
Discussion started by: ann_124
2 Replies

Featured Tech Videos