Hi,
wie lässt sich mit der shell feststellen ob eine Variable eine Zahl ist?
mfg
wdsl
Hi,
wie lässt sich mit der shell feststellen ob eine Variable eine Zahl ist?
mfg
wdsl
Holzhammermethode :
Wobei die ist wirklich blöd. Nur die erste Idee. Zweite Variante - grep, schon etwas weniger doof *g*:Code:peschmae@sid:~$ I=3 peschmae@sid:~$ if [ $I -eq 0 -o $I -ne 0 ]; then echo true; else echo false; fi true peschmae@sid:~$ I=3a peschmae@sid:~$ if [ $I -eq 0 -o $I -ne 0 ]; then echo true; else echo false; fi bash: [: 3a: integer expression expected false peschmae@sid:~$
kannst du dann in dem Stil verwenden:Code:peschmae@sid:~$ I=31284 peschmae@sid:~$ echo $I | grep -q -e "^[0-9][0-9]*$" peschmae@sid:~$ echo $? 0 peschmae@sid:~$ I=31284a812 peschmae@sid:~$ echo $I | grep -q -e "^[0-9][0-9]*$" peschmae@sid:~$ echo $? 1
MfG PeschmäCode:if echo $I | grep -q -e "^[0-9][0-9]*$"; then echo zahl; else echo keinezahl; fi
Geändert von peschmae (05-01-2007 um 18:52 Uhr)
The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)
fällt dir sonst noch was ein?
gibt true zurück auf SolarisCode:I=ja;if [ $I -eq 0 -o $I -ne 0 ]; then echo true; else echo false; fi
und grep mit der Option -e kann ich nicht bzw nur sehr ungern verwenden.
mfg
wdsl
The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)
Sollte grep nicht Quantifizierer kennen? Also anstatt
lieberCode:^[0-9][0-9]*$
oder am BestenCode:^[0-9]{1,}$
?Code:^[0-9]+$
Dachte ich eigentlich auch, nur ging das irgendwie nicht. Jetzt hab ichs noch mal schnell getestet und bin dank txt2regex auf die Idee gekommen, das + extra zu escapen - damit gehts dann:
MfG PeschmäCode:grep -q "^[0-9]\+$"
The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)
Hallo,
wie wäre es damit ?
Gruss zst
Code:EING=$1 case $EING in '' | *[!0-9]* ) echo -e "$EING ist keine Zahl!" ; exit 1 ;; *) ;; esac
Lesezeichen