Muy buenas gente, soy nuevo en el foro y nuevo en Shell Script. Tengo que hacer un proyecto para el instituto que se basa en hacer una agenda personal, algo muy sencillo. Les copie el codigo para que si pueden lo vean y me den una mano. Puse comentarios en las partes que tengo errores y dudas. Espero sean pacientes, soy un novato y estoy aprendiendo, seguro se rian de algunos bolazos que habré puesto jajaja. Si tienen sugerencias estoy abierto a ellas, de hecho mejor si las tienen y bueno espero se entienda maso menos lo que necesito, gracias!
#!/bin/bash
op=1
while [ $op -ne 0 ]
do
echo -e **'\e[0;31mAGENDA\e[0m \e[1;34mPERSONAL\e[0m'**
echo -e '\e[1;32m1-\e[0m'Agregar Contacto
echo -e '\e[1;32m2-\e[0m'Listar Contactos
echo -e '\e[1;32m3-\e[0m'Buscar Contacto
echo -e '\e[1;32m4-\e[0m'Borrar Contacto
echo -e '\e[1;32m5-\e[0m'Vaciar lista de contactos
echo -e '\e[0;35m0-\e[0m'Salir
echo ----------------------------------------------------------
echo -e '\e[0;37mOpcion:\e[0m'
read Opcion
#FINAL DEL MENU
#---------------------
#EMPIEZA CASE
#EL PROBLEMA EMPIEZA ACA, CUANDO SIN IMPORTAR CUAL SEA LA OPCION QUE ELIJO,
#SIEMPRE EJECUTA LA OPCION 1, A LO MEJOR ES UN PROBLEMA CON EL 'WHILE', NO SE
case $op in
1)echo -e '\e[1;33mComplete los siguientes espacios..\e[0m'
echo Nombre:
read nom
echo Apellido:
read ape
echo Telefono:
read tel
echo Celular:
read cel
echo Correo Electronico:
read reo
echo Fecha Cumpleaños:
read cum
echo $nom ":" $ape ":" $tel ":" $cel ":" $reo ":" $cum >> contactos.dat
echo Guardado exitoso!;;
2)echo Lista de contactos:
less contactos.dat;;
3)echo Buscar nombre del contacto:
read nom
if [ $nom = true ];then
grep $nom contactos.dat
else
echo "EL contacto no existe"
fi
;;
4)echo Elija contacto que desea eliminar: #EN ESTA OPCION LA IDEA ES QUE EL USUARIO ELIJA UN CONTACTO Y LO ELIMINE
read contacto #AHI USE EL COMANDO 'rm' QUE SIRVE PARA BORAR EN LA TERMINAL
#PERO EN BASH NO SE COMO SE HARIA, ALGUNO SABRA?
if [ $contacto = true ]; then
rm $contacto contactos.dat
else
echo El contacto no existe, intente de nuevo.
fi
;;
5)echo Usted ha elegido eliminar su lista de contactos completa, esta seguro S/N:
read eliminar
if [ $eliminar = S ]; then #EN ESTA PARTE LA IDEA ES ELIMINA LA LISTA COMPLETA, PERO NO SE CUAL SERIA EL
del contactos.dat #COMANDO CORRECTO
else
echo No se elimino nada
fi
;;
0)echo FIn del programa
exit;;
#FINAL DEL CASE
esac
done
#ESPERO QUE SE ENTIENDA LA IDEA GENERAL, NO PUDE COMPROBAR SI FUNCIONA POR LO QUE DIJE, EN EL PRIMER COMENTARIO..