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