shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Agenda telefônica V2


From: lucasesanto
Subject: Agenda telefônica V2
Date: Thu, 25 Sep 2008 23:05:05 -0000
User-agent: eGroups-EW/0.82

Melhorei a agenda telefônica (
http://br.groups.yahoo.com/group/shell-script/message/27481 ) e estou
mandando a vocês para uma nova revisão (re-revisão?).

As principais mudanças foram: 
- Agora a genda funciona com loop while.
- O menu ficou mais 'bonito'.
- Adicionei busca por número de telefone

=========================+SCRIPT+=============================
#!/bin/bash
#Variáveis#
MSG="
              #----------------------#
              | 1) Adicionar contato |
              | 2) Buscar por nome   |
              | 3) Buscar por número |
              | 4) Mostrar Contatos  |
              | 5) Sair              |
              #----------------------#

        Escolha o número correspondente à opção desejada "
#Funções#
loop_menu ()
        {
         read -p "Deseja voltar ao menu? [s/n]"  RESP
         [ $RESP = s ] && continue
         break
         return
        }

#Script#
cd $PWD 
[ -e .telefones ] || echo >>.telefones
sort .telefones -o .telefones
while true
        do
clear
read -p "$MSG" NUM
case $NUM in
1) echo
{
read -p "Digite o nome do contato: " NOME
if grep $NOME .telefones > /dev/null 
        then
                echo "
        O contato $NOME já existe
                     "
                loop_menu
        else
                :
        fi
read -p "Digite o número do telefone: " TEL
echo "
        Nome: $NOME
        Telefone: $TEL
     "                  
read -p "Confirmar dados? [s/n]" RESP
test $RESP = n && exit
echo "$NOME~$TEL" >> .telefones
echo
}
;;

2) echo
{
read -p "Digite o nome do contato: " NOME
echo
cat .telefones | grep -i $NOME | tr "~" \\n
echo
}
;;

3) echo
{
read -p "Digite o numero do telefone: " NUMERO
echo
cat .telefones | grep -i $NUMERO | tr "~" \\n
echo
}
;;

4) echo
{
cat .telefones | tr "~" " "
}
;;

5) break
;;

*) echo "Digite uma opção válida."
   sleep 4s
esac
loop_menu
done
echo
=============================================================

Grato, Piteco



reply via email to

[Prev in Thread] Current Thread [Next in Thread]