Agenda Telefônica com Bash e Xdialog
Publicado por Aristoteles Rego de Araujo 16/07/2003
[ Hits: 13.708 ]
<p>Fiz esta agenda telefônica usando o Xdialog para ser usada em modo gráfico. Ela é bem simples. Quem quiser colaborar com idéias e mudanças no script é só mandar e-mails. </p>
<p>É necessário esta no modo gráfico e ter o Xdialog instalado </p>
========================================== arquivo agenda.sh ------------------------------------------------------------------- #!/bin/bash # agenda.sh # Simples Agenda Telefonica para X-Windows # Script criado por Aristoteles Araujo (Thothy) # Licenca: GPL # Pendencias: XFree, Xdialog, Shell Bash # # Modulo de menu da agenda # # Testa Xdialog DIALOG=`which Xdialog` if [ ! $DIALOG ] ;then echo " Xdialog nao encontrado" exit 1 fi # # Path do icone icone="/usr/X11R6/include/X11/pixmaps/mouse.xpm" #Messagem da janela mens0="Especial para o Viva o Linux" #Mensagem para o usuario mens1="Informa o nome - telefone" #variaveis arqtmp="/$HOME/.agenda_temp" DIA=Xdialog # Dialogo Menu $DIA --sterr --title "Agenda Telefonica" --backtitle "$mens0" --icon "$icone" --center --cancel-label "Sair" --menu \ "Selecione sua opcao" 16 40 5 \ "1" "Incluir na agenda" \ "2" "Pesquisar nome/telefone" \ "3" "Editar agenda" \ "4" "Organizar agenda" \ "5" "Creditos" > /dev/null 2> $arqtmp opcao=`cat $arqtmp` #Menu case $opcao in 1) ./agcad.sh;; 2) ./agbusc.sh;; 3) ./agedit.sh;; 4) ./agsort.sh;; 5) $DIA --sterr --left --title "Creditos" --msgbox \ " Script criado por \n Aristoteles Araujo (Thothy) \n thothy@bol.com.br \n \n Licenca GPL \n Brasil 2003" \ 0 0 ./agenda.sh esac ========================================== arquivo agcad.sh ------------------------------------------------------------------- #!/bin/bash # agcad.sh # Modulo de cadastro de agenda # # Path do icone icone="/usr/X11R6/include/X11/pixmaps/keyboard.xpm" # Mensagem da janela mens0="Especial para o Viva o Linux" # Mensagem para o usuario mens1="Informa o nome - telefone" #Variaveis arqtmp="/$HOME/.agenda_temp" DIA=Xdialog # Dialogo de Cadastro $DIA --sterr --title "Agenda Telefonica" --backtitle "$mens0" --icon "$icone" --center --inputbox \ "Digite o nome e o telefone" 10 40 > /dev/null 2>> agenda.db ./agenda.sh ========================================== arquivo agbusc.sh ------------------------------------------------------------------- #!/bin/bash # agbusc.sh # Modulo de busca na agenda # # Path do icone icone="/usr/X11R6/include/X11/pixmaps/keyboard.xpm" # Mensagem da janela mens0="Especial para o Viva o Linux" # Mensagem para o usuario mens1="Informa o nome - telefone" # Variaveis arqtmp="/$HOME/.agenda_temp" DIA=Xdialog # Dialogo de Cadastro $DIA --sterr --title "Agenda Telefonica" --backtitle "$mens0" --icon "$icone" --no-cancel --center --inputbox \ "Digite o nome ou telefone \n para busca na agenda" 10 40 > /dev/null 2> $arqtmp busca=`cat $arqtmp` resultado=`grep -i $busca agenda.db > $arqtmp` if [ -n $busca ];then #Mostra mensagem de erro $DIA --sterr --title "Agenda Telefonica" --msgbox \ "Informe nome ou telefone \n para perquisar" 0 0 \ exit else # Mostra resultado da pesquisa $DIA --sterr --backtitle "Resultado da pesquisa por $busca" --title "Agenda Telefonica" --no-cancel --logbox $arqtmp 15 50 \ fi #Chama o menu ./agenda.sh exit ========================================== arquivo agedit.sh ------------------------------------------------------------------- #!/bin/bash # agedit.sh # Modulo de edicao da agenda # # Path do icone icone="/usr/X11R6/include/X11/pixmaps/keyboard.xpm" # Mensagem da janela mens0="Especial para o Viva o Linux" # Mensagem para o usuario mens1="Informa o nome - telefone" # Variaveis arqtmp="/$HOME/.agenda_temp" DIA=Xdialog # Mostra resultado da pesquisa $DIA --sterr --backtitle "$mens0" --title "Agenda Telefonica" --no-cancel --editbox agenda.db 15 50 > /dev/null 2> $arqtmp # Confirma Atualizacao $DIA --sterr --title "Confirmacao" --yesno \ "Confirma atualizacao da base de dados?" \ 0 0 \ if [ $? == 0 ]; then cp agenda.db agenda.db.bak atualiza=`cat $arqtmp > agenda.db` fi #Chama o menu ./agenda.sh ========================================== arquivo agsort.sh ------------------------------------------------------------------- #!/bin/bash # agsort.sh # Modulo de organizacao da agenda # # Path do icone icone="/usr/X11R6/include/X11/pixmaps/keyboard.xpm" # Mensagem da janela mens0="Especial para o Viva o Linux" # Mensagem para o usuario mens1="Informa o nome - telefone" # Variaveis arqtmp="/$HOME/.agenda_temp" DIA=Xdialog # Confirma Atualizacao $DIA --sterr --title "Confirmacao" --yesno \ "Confirma organizacao da base de dados?" \ 0 0 \ if [ $? == 0 ]; then cp agenda.db agenda.db.bak sort agenda.db -f -d -o agenda.db fi #Chama o menu ./agenda.sh
Mudando a extensão de vários arquivos
Script Simples para informações do Sistema
Instalar e Configurar o Slackware Linux em 2025
Como configurar os repositórios do apt no Debian 12 em 2025
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Como colorir os logs do terminal com ccze
Instalação Microsoft Edge no Linux Mint 22
Como configurar posicionamento e movimento de janelas no Lubuntu (Openbox) com atalhos de teclado
Máquinas Virtuais com IP estático acessando Internet no Virtualbox
Compartilhando uma ideia sobre computação quantica (16)
Instalação de Drive - USB para HDMI Ubuntu (1)
Instalação do Ubuntu 22.04 LTS (7)
Meus HDs não aparecem mais no boot da placa mãe (19)
Problema de Comunicação Entre Bridges após Configuração de Links no RB... (0)