The
while : do is not terminated (rigorous indentation would have identified that).
if [ $choice -eq x ] will not work because -eq is an arithmetic comparison operator and x is not an integer.
bash variables are not set by the likes of
set v = menu
Code:
c@CW9:~$ set v = menu
c@CW9:~$ echo $v
c@CW9:~$ echo $1 $2 $3
v = menu
c@CW9:~$ v=menu
c@CW9:~$ echo $v
menu
Debugging is easier without the interactive prompts and with the clear commands commented out
Code:
#read -p "Please Enter your name " name
name=foo
#read -p "Enter your birth year. Example: 1900 : " year
year=1990
...
#clear