[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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- RES: [shell-script] Script para agenda telefônica,
Julio Cezar Neves - DATAPREVRJ <=