PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Abfrage



25-09-2000, 20:33
Ich möchte eine Eingabenoption daraufhin überprüfen, ob die Option
eine positive Zahl ist. Die Überprüfung auf positive Zahl ist ja nicht
weiter problematisch:
[ $1 -gt 0 ] und funktioniert.
Wird jetzt aber ein Buchstabe fälschlicher Weise eingegeben, wird als
Rückgabewert auch 0 ausgegeben und der Rest des Scriptes bringt nur
noch Fehlermeldungen.
Auch unter den Optionen von Test habe ich nichts derartiges gefunden.
Gibt es dennoch eine Möglichkeit?
gruss
andreas

mightymike99
26-09-2000, 00:34
- Versuch mal zu rechnen:

ksh,bash: ((Ergebnis= $EINGABE + 1))
sh: expr $EINGABE + 1

Wenn Eingabe keine Zahl ist liefert der Befehl einen Exitcode > 0!
Damit laesst sich doch was anfangen!

mfg m&m

thommy
26-09-2000, 08:02
Geht mit einem Einzeiler:

<pre>
test -z ${1##*[^0-9]*} && echo "keine Zahl"
</pre>

Thomas

26-09-2000, 18:31
Danke