Ayuda con Script + Sugerencias

Iniciado por ppoloco, 13 Septiembre 2017, 00:56 AM

0 Miembros y 1 Visitante están viendo este tema.

ppoloco

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!



Código (bash) [Seleccionar]


#!/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..