Agenda Telefônica com Bash e Xdialog
Publicado por Aristoteles Rego de Araujo 16/07/2003
[ Hits: 14.023 ]
<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
Criando uma lixeira [Melhorado]
Imprimindo textos com o comando "echo"
Configurando clientes NIS em distros baseadas no Red Hat
KDE Plasma - porque pode ser a melhor opção de interface gráfica
Gentoo: detectando impressoras de rede e como fixar uma impressora por IP
Como o GNOME conseguiu o feito de ser preterido por outras interfaces gráficas
Por que sua empresa precisa de uma PKI (e como automatizar EMISSÕES de certificados via Web API)
Instalando NoMachine no Gentoo com Systemd (acesso Remoto em LAN)
Gentoo: Trocando wpa_supplicant pelo iwd no NetworkManager (Systemd)
Instalar Linux em notebook Sony Vaio VPCEG13EB (10)
Vou destruir sua infância:) (6)
Quando vocês pararam de testar distros? (24)









