Beruflich Dokumente
Kultur Dokumente
sh
#!/bin/bash
# Marcelo Barros de Almeida
# marcelobarrosalmeida@gmail.com
DIR="/home/marcelo/.agenda"
BD="agenda.txt"
ARQ="$DIR/$BD"
BKP="$DIR/$BD.bkp"
TMP="$DIR/$BD.tmp"
VER="V0.1"
main_menu=( "Listar" "Pesquisar" "Incluir" "Apagar" "Sair" )
callbacks=( op_listar op_pesquisar op_incluir op_apagar op_sair )
DIALOG=dialog
if [ ! -d "$DIR" ]
then
$DIALOG --infobox "Criando diretrio do repositrio ($DIR) ..." 0 0
mkdir "$DIR"
sleep 1
fi
if [ ! -f "$ARQ" ]
then
$DIALOG --infobox "Criando base de dados ($BD) ... " 0 0
touch "$ARQ"
sleep 1
fi
function op_listar()
{
$DIALOG --title "Nome|Telefone" --textbox "$ARQ" 0 0
return
}
function op_pesquisar()
{
nome=""
while [ "$nome" = "" ]
do
nome=$( $DIALOG --stdout --inputbox "Nome ou telefone a procurar:" 0 30 )
[ "$?" = "1" ] && return
nome=$(echo "$nome" | tr "|" "_" )
if [ "$nome" = "" ]
then
$DIALOG --msgbox "Insira valor vlido" 0 0
continue
else
break
fi
done
IFSOLD=$IFS
IFS=$'\n'
res=$(cat $ARQ | grep $nome)
IFS=$IFSOLD
if [ "$res" = "" ]
then
$DIALOG --title "Resultados da pesquisa para $nome" \
--msgbox "Nenhum resultado encontrado." 0 0
else
$DIALOG --title "Resultados da pesquisa para $nome" --msgbox "$res" 0 0
fi
}
function op_incluir()
Pgina 1 de 3
Pgina 2 de 3
Pgina 3 de 3
lista[$idx]=""
done
[ -f $TMP ] && rm $TMP
touch $TMP
IFSOLD=$IFS
IFS=$'\n'
for linha in ${lista[*]}
do
echo "$linha" >> $TMP
done
IFS=$IFSOLD
mv $ARQ $BKP
mv $TMP $ARQ
}
function main()
{
while [ : ]
do
numops=${#main_menu[@]}
menu=""
for i in $(seq 0 $((numops-1)) )
do
op=$( echo ${main_menu[$i]} | tr " " "_" )
menu="$menu $i $op "
done
resp=$($DIALOG
$menu)