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

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

Re: [shell-script] Script para agenda telefônica


From: Fabiano Caixeta Duarte
Subject: Re: [shell-script] Script para agenda telefônica
Date: Thu, 05 Jan 2006 21:13:38 -0200
User-agent: Mozilla Thunderbird 1.0.2 (X11/20050317)

Vou dar umas dicas pra ir melhorando... otimizando.

1) O teste de existência do arquivo pode ser feito com
if [ -f arquivo ]

2) Sua variável dia pode ser definida em uma linha:
dia=$(date "+%A, %d de %B de %Y")

3) A opção do menu pode ser lida com
read -p

4) Você pode colocar a exibição do menu em uma função

5) Na função de cadastro é mais intuitivo pedir as informações separadamente. Depois vc as concatena no arquivo.

6) Pesquisa se escreve com S :)

7) Tenho outras sugestões, mas deixemos o resto do povo falar um
pouco :)

Fabiano Caixeta Duarte
Consultor em soluções para Redes de Computadores
Ribeirão Preto - SP


voyeg3r escreveu:
Gostaria que os membros da lista melhorassem este script. tirando os erros, que sei, ainda haver.

Se alguém tiver algo melhor, por favor publique na lista

#!/bin/bash
# Criado em:Qui 05/Jan/2006 hs 13:13
# ultima modificação: Qui 05 Jan 2006 16:57:25 BRST
# Agenda telefônica
# Autor: Sérgio Luiz Araújo Silva
# verifica se há .fones.txt caso não exista
# cria o arquivo omitindo mensagem de erro

Fones="$HOME/.fones.txt"
if ls $Fones  2>> /dev/null
then touch $Fones
fi

clear

    dia_semana=`date +%A`
    dia_mes=`date +%d`
    mes=`date +%B`
    ano=`date +%Y`

    dia=`echo "   $dia_semana $dia_mes de $mes de $ano"`
    hora=`date +%R`
    clear
echo echo
    echo "            BEM VINDO À SUA AGENDA TELEFÔNCIA"
    echo
    echo "                        ( O O )"
    echo "          ====oOO==(_)==OOo====="
    sleep 1


_principal(){
    # ==========================
    #    Menu Principal
    # ==========================
    clear
    echo
    echo
    echo "     ======================================="
echo " A G E N D A T E L E F Ô N I C A" echo " M E N U P R I N C I P A L "
    echo "     ======================================="
    echo "   $dia $hora"
echo echo " [1] Fazer um novo Cadastro "
    echo "      [2] Consultar um Nome"
    echo "      [3] Editar a agenda com o vim"
    echo "      [4] Sair"
    echo
if [ $resultado -ne "" ] 2>> /dev/null
    then
echo "Sua ultima consulta foi" echo "$resultado"
    fi
echo -n " Digite a opção: " read opcao case $opcao in
    1) _cadastro
    ;;
    2) _consulta
    ;;
3) echo " Editando a sua agenda com o vim..."
        sleep 1
        vim $Fones
        clear
echo echo " RETORNANDO AO MENU PRICIPAL" echo sleep 1
       _principal
    ;;
4) clear exit ;; *) clear
    echo
    echo "      Digite uma opção válida!"
    echo "      As opções possíveis são:"
    echo
    echo "      [1] Fazer um novo Cadastro "
    echo "      [2] Consultar um Nome"
    echo "      [3] Editar a agenda com o vim"
    echo "      [4] Sair"
    sleep 3
    _principal
    esac
}

# =======================
#    Cadastro
# =======================
_cadastro(){
    clear
    echo "Agenda Telefônica"
    echo "Cadastro - Novo Contato"
    echo
    echo -n "Digite o Nome Seguido do Telefône: "
    read Nome

echo $Nome >> $Fones echo "$Nome inserido na agenda"
    sleep 1
    echo
    sleep 3
    sort $Fones
    sleep 3

           # ==========================
           #   MENU DE CADASTRO
           # ==========================
                while
                true
                do
                clear
                    echo "  ================================"
                    echo "        C A D A S T R O           "
                    echo "  ================================"
                    echo "   Escolha uma das opções abaixo  "
echo echo " [1] Menu Principal "
                    echo "   [2] Cadastrar outro nome"
                    echo "   [3] Editar sua agenda com o VIM"
                    echo "   [4] Sair"
                    echo
                    echo -n "  Digite a opção: "
read opcao case $opcao in
                    1) _principal
                    ;;
                    2) _consulta
                    ;;
                    3)
                    echo "Editando sua agenda com o vim..."
                    sleep 1
                    vim $Fones
                    ;;
4) clear
                    exit
                    ;;
*) echo " Digite uma opção válida!"
                    echo
                    echo "   As opções possíveis são:"
                    echo
                    echo "   [1] Menu Principal "
                    echo "   [2] Cadastrar outro nome"
                    echo "   [3] Editar sua agenda com o VIM"
                    echo "   [4] Sair"

                    sleep 1
                    _cadastro
                    esac
                done

}

# =======================
#    CONSULTA
# =======================
_consulta(){
    clear
    echo "Agenda Telefônica Linux Way"
    echo "Consulta"
    echo
    echo -n "Digite o Nome para pesquiza: "
    read Nome

    if resultado=`grep -i $Nome $Fones` 2>> /dev/null
      then
           echo "$resultado"
           sleep 5
           clear
           # ==========================
           #   MENU DE CONSULTA
           # ==========================
                while
                true
                do
                clear
                    echo "   ==================================="
                    echo "           C O N S U L T A            "
                    echo "   ==================================="
                    echo "   Escolha uma das opções abaixo"
echo echo " [1] Menu Principal "
                    echo "   [2] Continuar consulta"
                    echo "   [3] Sair"
echo
                   if [ $resultado -ne "" ] 2>> /dev/null
                   then
                       echo "Sua ultima consulta foi"
                       echo "$resultado"
fi echo
                    echo
echo -n " Digite a opção: " read opcao case $opcao in
                    1) _principal
                    ;;
                    2) _consulta
                    ;;
                    3)
                    clear
                    exit
                    ;;
*) clear
                    echo
                    echo "          Digite uma opção válida!"
                    sleep 1
                    clear
                    esac
                done

         else
           echo "$Nome não encontrado no banco de dados!"
    fi
sleep 3
}


_principal










---------------------------------------------------------------------
Esta lista não admite a abordagem de outras liguagens de programação, como 
perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio 
aviso.
---------------------------------------------------------------------
Sair da lista: address@hidden
---------------------------------------------------------------------
Esta lista é moderada de acordo com o previsto em 
http://www.listas-discussao.cjb.net
---------------------------------------------------------------------
Links do Yahoo! Grupos









reply via email to

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