Anmelden

Archiv verlassen und diese Seite im Standarddesign anzeigen : problem mit einer schleife ( bash )



timon
26-08-2003, 17:01
ich habe mir folgendes kleines Skript gemacht:

eigentlich ganz einfach, 1 + 2 prüft die Postfächer und gibt die header zurück, mit 3 + 4 kann ich dann pro Konto die mails durch die Übergabe der Nummern löschen


#!/bin/bash
#Programm dialog.sh

tonline=
puretec=
loescht=
loeschpur=


gdialog --clear --checklist \
'Mail-Check' 20 60 8 \
'1' 'T-Online' off \
'2' 'Puretec' off \
'3' 'T-Online-loeschen' off \
'4' 'Puretec-loeschen' on 2> ~/tmp.$$

options=$(cat ~/tmp.$$)
rm ~/tmp.$$

for i in $options; do
case "$i" in
\"1\" ) tonline=tonline;;
\"2\" ) puretec=puretec;;
\"3\" ) T-Online-loeschen=loescht;;
\"4\" ) Puretec-loeschen=loeschpur;;

esac
done

for i in $tonline; do
echo "Hole Mail von T-online"
popme.pl -h -s defaulttag > mailtemp
x=$(cat mailtemp)
gdialog --infobox "Nachrichten: $x" 5 70
rm mailtemp
done

for i in $puretec; do
echo "Hole Mail von Puretec"
popme.pl -h -s puretec > mailtemp
x=$(cat mailtemp)
gdialog --infobox "Nachrichten: $x" 5 70
rm mailtemp
exit 0
done

for i in $loescht; do
echo "lösche Mail von T-online"
gdialog --clear --title Nr-Tonline --inputbox "Nachrichtennummern eingeben" 10 60 2> eingabe.tmp
eingabe=$(cat eingabe.tmp)
x=$(popme.pl -h -s defaulttag -d $eingabe)
gdialog --infobox "Gelöscht: $x" 5 70
rm eingabe.tmp
exit 0
done

for i in $loeschpur; do
echo "lösche Mail von puretec"
gdialog --clear --title Nr-Puretec --inputbox "Nachrichtennummern eingeben" 10 60 2> eingabe.tmp
#Eingabe einlesen
eingabe=$(cat eingabe.tmp)
x=$(popme.pl -h -s puretec -d $eingabe)
gdialog --infobox "Gelöscht: $x" 5 70
rm eingabe.tmp
exit 0
done

so, das eigentliche Problem: Ich möchte nach der Ausgabe von 1 bzw 2, das das script zurückspringt ins Hauptmenü. Ich mache damit nun schon den ganzen Tag rum, bekomme es aber nicht hin. Deshalb hier für Euch auch die "reine" Form des Skriptes.

Bin für jeden Tip dankbar

timon

lobo
26-08-2003, 17:53
Hi timon!

Du könntest das Programm in eine "while"-Schleife packen.



#! /bin/bash

while [ "$EXITM" != "y" ]
do
# dein Code
echo "Nochmal (y/n) ?"
read EXITM
done


Gruss

Jochen

timon
26-08-2003, 18:05
@ lobo

vielen dank, und ich habe da rumgeschraubt :)) funzt, merci vielmals

timon