Frage zu expressions in while schleife

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
knecht
Beiträge: 1214
Registriert: 08.01.2004 15:33:44
Wohnort: Berlin
Kontaktdaten:

Frage zu expressions in while schleife

Beitrag von knecht » 12.01.2005 14:09:25

folgender Scriptteil:

Code: Alles auswählen

while [ "$ans" != "[0-9]\{3\}" -a "$ans" != "[0-9]\{3\}" ] ; do
read ans
done
Ich will eine Eingabe auf ihr Format überprüfen. Gültig soll nur eine 3 oder 4 stellige Zahl sein. Aber expressions wie ich die oben habe funktionieren ja nicht. Wie realisiere ich sowas ?

Danke
Sebastian
_________________________________________________
Linux HowTo's, Programmierung, Wallpapers und 3D:
http://www.neoBerserker.de

Benutzeravatar
knecht
Beiträge: 1214
Registriert: 08.01.2004 15:33:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von knecht » 12.01.2005 14:57:29

hab das jetzt so gelöst:

Code: Alles auswählen

run=0
while [ "$run" = "1" ] ; do
read ans
if (echo "$ans" | grep "^[0-9]\{3\}$"&>/dev/null) ; then
run=1
fi
done
Zwar irgendwie indirekt gelöst, aber gelöst !
_________________________________________________
Linux HowTo's, Programmierung, Wallpapers und 3D:
http://www.neoBerserker.de

Antworten