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
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