Lista-telefonica

Publicado por Lucas 12/12/2004

[ Hits: 15.055 ]

Download lista-telefonica




É uma agenda telefonica com muitas opções como por exemplo: Procurar por um nome, alterar pessoas na lista, ver a lista, excluir pessoas da lista e outras.
Vale apena conferir
Ps:Eu ainda estou aprendendo

  



Esconder código-fonte

#!/bin/bash
#Feito por Lucas
#Programa para inserir pessoas na sua lista telefonica
#Versão 0.1

clear
echo "Vamos começar"
sleep 1
echo "Qual o arquivo que contem sua lista telefonica?"
echo "Se não tiver criaremos"
read -p "Digite o nome: " arquivo               #Aqui ele pega o nome do arquivo que contém a lista
menu ()                                         #Cria a função do menu
{
clear
echo "Escolha uma das opções:
 a) Adicionar pessoas na lista
 b) Alterar   pessoas na lista
 c) Excluir   pessoas da lista
 d) Procurar por um nome
 e) Ver a lista
 f) Sai do programa "
read -p "Escolha sua opção: " resposta
clear
if [ "$resposta" = "a" ]
then
echo "Quem você quer inserir na sua lista?"
read -p "Digite aqui: " pessoa
echo "Qual o número"
read -p "Digite aqui: " telefone
echo "Agora vamos inserir essa pessoa na sua lista"
sleep 1
echo "$pessoa  $telefone" >> $arquivo | sort -o $arquivo $arquivo    #envia o nome e o telefone da pessoa 
echo "Pronto"
sleep 1
clear
menu
fi

if [ "$resposta" = "b" ] #verifica sua resposta
then
echo "Vamos alterar sua lista"
sleep 1
echo "Você quer alterar o nome ou o telefone?"
read -p "'n' para e 't' para telefone: " alterar
if [ "$alterar" = "n" ]              #verifica sua resposta
then
read -p "Digite o nome que você quer mudar: " velho
read -p "Digite o novo nome: " novo
sed 's/'$velho'/'$novo'/' $arquivo > /tmp/lista  #fazemos a subistituição do antigo nome para o novo
mv /tmp/lista $arquivo | sort -o $arquivo $arquivo #move o arquivo com a alteração para o original
echo "Veja como ficou:"
cat $arquivo
sleep 3
menu
fi
if [ "$alterar" = "t" ]
then
read -p "Digite o telefone velho: " tvelho
read -p "Digite o telefone novo: " tnovo
sed 's/'$tvelho'/'$tnovo'/' $arquivo > /tmp/lista #fazemos a subistituição do antigo telefone para o novo
mv /tmp/lista $arquivo | sort -o $arquivo $arquivo #move o arquivo com a alteração para o original
echo "Veja como ficou:"
cat $arquivo
sleep 3
menu
fi

fi

if [ "$resposta" = "c" ]
then
echo "Quem você quer remover?"
read -p "Digite o nome aqui: " remover
grep -v $remover $arquivo > /tmp/lista  #cria um arquivo sem o nome da pessoa que vc quer remover
mv /tmp/lista $arquivo  #move esse arquivo para o original
sleep 1
echo "Vamos ver como ficou:"
cat $arquivo
sleep 3
echo "Pronto"
clear
menu
fi

if [ "$resposta" = "d" ]
then
echo "Quem você quer procurar?"
read -p "Digite aqui o nome: " procurar
grep "$procurar" $arquivo #procura pelo nome especificado
sleep 3
clear
menu
fi

if [ "$resposta" = "e" ]
then
echo "Eu tenho `cat $arquivo | wc -l` pessoas na minha lista"  #conta quantos contatos você possui
sleep 1
echo "Que são"
cat $arquivo
sleep 3
clear
menu
fi

if [ "$resposta" = "f" ]
then
echo "Saindo do programa"
echo "Deus te abençoe"
sleep 1
clear
fi
exit 0
}                                      #fim da função
menu                  #chamando ela denovo

Scripts recomendados

SCRIPT PARA AUTOMAÇÃO NA CRIAÇÃO DE USUÁRIOS NO AMBIENTE LINUX.

Algoritmo para saber qual o maior número dentro de uma Array

Agenda de contaos usando dialog

montagem de disquete e cd rom (usando dialog)

Bloqueio e desbloqueio de contas de usuários


  

Comentários
[1] Comentário enviado por lnas90 em 12/12/2004 - 17:06h

Por favor postem o q acharam

[2] Comentário enviado por mrefinski em 10/12/2011 - 16:49h

otima sua lista simples e eficaz, apenas uma sugestao que na realidade eu estou tentando mas nao sei como se faz, quando pede para inserir o numero do telefone poderia ser feito um elif caso ele coloque letras ao invez de numeros saberia me dizer como faco isso?? obrigado
no mais matou a pau.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts