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

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

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


From: Julio Cezar Neves - DATAPREVRJ
Subject: RES: [shell-script] Script para agenda telefônica
Date: Fri, 6 Jan 2006 10:29:56 -0200

Aê Voyag3r,
vou juntar mais uma dica à do Fabiano e deixar o resto para os colegas, até
chegarmos a um script de 10 linhas :)

troque:
>     echo 
>     echo
>     echo "            BEM VINDO À SUA AGENDA TELEFÔNCIA"
>     echo
>     echo "                        ( O O )"
>     echo "             ====oOO==(_)==OOo====="

Por:
     echo 
     
                       BEM VINDO À SUA AGENDA TELEFÔNCIA
     
                                   ( O O )
                               ====oOO==(_)==OOo====="

Repare que eu abri aspas no início e só fechei no final. desta maneira o
shell não trata os <ENTER> ao final de cada linha como o final do echo.

Como o Fabiano sugeriu, no menu troque o echo por um read -p porém usando o
mesmo artifício acima.

[ ]s,
Julio Cezar Neves
Tel:+55 21 2555-6148 / +55 21 8112-9988
Fax: +55 21 2555-6154
http://www.julioneves.com


| -----Mensagem original-----
| De: Fabiano Caixeta Duarte [mailto:address@hidden]
| Enviada em: quinta-feira, 5 de janeiro de 2006 21:14
| Para: address@hidden
| Assunto: Re: [shell-script] Script para agenda telefônica
| 
| 
| 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
> 
> 
> 
> 
>  
> 
> 
> 
> 


---------------------------------------------------------------------
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]