Moin zusammen,
ich möchte in einer If-Abfrage abfragen, ob der Wert in einer Variable numerisch ist.
Könnt ihr mir dabei weiterhelfen ?
cu
ExeCRabLE
Moin zusammen,
ich möchte in einer If-Abfrage abfragen, ob der Wert in einer Variable numerisch ist.
Könnt ihr mir dabei weiterhelfen ?
cu
ExeCRabLE
Unwissenheit ist Staerke
weiß selbst keinen direkten Weg, aber du kannst ja die Variablen mit test und den Optionen ne, gt, lt, etc. ansprechen. Wenn deine Variable nicht numerisch ist, erfolgt eine Fehlerausgabe, welche du ausweten kannst.
Hans
333 Mhz, 466 MHz, neee, ich hab was neues zuhause.....
wenn man PHP instaliiert hat ists OK, aber wenn man das Script auf fremden Rechnern laufen läßt, wirds kompliziert. Bleiben nach meiner Auffassung nur folgende Wege
- wie Eingangs von mir beschrieben
- mit awk. Da kann man ja Zeichenketten beliebig zerlegen und untersuchen
- mit cut. Wie awk, aber eben mehr auf Shellebene
Alles nicht der Hammer, aber durchführbar hier mal eine Beispiel, wie cut angewendet werden könnteCode:[hans@rosi my]$ echo 123| cut --bytes=2 2
333 Mhz, 466 MHz, neee, ich hab was neues zuhause.....
Wo eine Shell ist, ist meist auch Perl
Daher :
T;o)MesCode:#!/bin/sh # Test auf numeric TE="1" NUM=$(perl -e "print $TE*1;") if [ -z $NUM ]; then echo "keine Zahl" else echo "eine Zahl" fi
************************************************
Man(n oder Frau) muss nicht alles wissen,
Man(n oder Frau) muss nur wissen wo es steht !
************************************************
http://www.sandtom.net
ICQ 176436259
Träum weiterOriginal geschrieben von tomes
Wo eine Shell ist, ist meist auch Perl
Auf keinen der von mir administrierten Server ist ein Perl installiert.
Wozu auch?
Bodo
Systemadmistration UNIX
Webserver --> cgiWozu auch? [/B]
Mailserver --> spamassasin
Und auch sonst noch ganz nuetzlich.
Also nur fuer dich -->
Kann sein, dass es bei irgend einer Variable nicht "funct". Habe nur mit ganzen Zahlen, 0 und Buchstabenfolgen getestet.Code:#!/bin/sh D=$(( $1*1 )) if [ $1 == "0" ]; then echo "Variable ist 0" else if [ $D -eq "0" ]; then echo "Variable ist keine Zahl" else echo "Variable ist eine Zahl" fi fi echo $D
Aber es ist auf alle Faelle ein Anfang.
T;o)Mes
P.S.: Wenn du kannst, schreib dir ein kleines C/C++ *prog* was nur die numeric ueberprueft (Vielleicht gibt es ja auch so etwas)
************************************************
Man(n oder Frau) muss nicht alles wissen,
Man(n oder Frau) muss nur wissen wo es steht !
************************************************
http://www.sandtom.net
ICQ 176436259
Lesezeichen