Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: BASH zjisteni jestli je promenna cislem  (Přečteno 1854 krát)

kingpin

  • Návštěvník
  • Příspěvků: 44
BASH zjisteni jestli je promenna cislem
« kdy: 06 Července 2009, 11:00:06 »
Ahojte,
Potreboval by som osetrit jeden jednoduchy skript na na pocitanie zakladnych matematickych operacii.
Ide mi o to aby to zistovalo ci do premnnych $a a $c boli zadane cisla. Jo a nevedel by mi niekto napisat do akej maximalnej hodnoty dokaze bash pocitat ? Pretoze toto by som tam asi mal tiez niekam vlozit  aby nevypisovalo hlouposti typu "nelze spocitat" :D

Kód: [Vybrat]
#!/bin/sh

echo -n "Zadaj prve cislo: "
read a
echo -n "Zadaj matematicky operator (+,-,x,/): "
read b
echo -n "Zadaj druhe cislo: "
read c

if $a= JE CISLO :D && $c= JE CISLO :D
 then continue
 else
   echo "Zadavajte iba numericke znaky!"
 break
fi

case "$b" in
+)
echo "Vysledok je: " `expr $a + $c`;
;;
-)
echo "Vysledok je: " `expr $a - $c`;
;;
x)
echo "Vysledok je: " `expr $a \* $c`;
;;
/)

qUAKER

  • Host
Re: BASH zjisteni jestli je promenna cislem
« Odpověď #1 kdy: 06 Července 2009, 11:19:09 »
Kód: [Vybrat]
#!/bin/sh

echo -n "Zadaj prve cislo: "
read a
echo -n "Zadaj matematicky operator (+,-,x,/): "
read b
echo -n "Zadaj druhe cislo: "
read c

if [ $a -eq $a 2> /dev/null ] && [ $c -eq $c 2> /dev/null ];then
case "$b" in
+) echo "Vysledok je: " `expr $a + $c`;
;;
-) echo "Vysledok je: " `expr $a - $c`;
;;
x) echo "Vysledok je: " `expr $a \* $c`;
;;
/) echo "Vysledok je: " `expr $a / $c`;
esac
else
echo "Zadavajte iba numericke znaky!"
exit 1
fi
« Poslední změna: 06 Července 2009, 11:49:37 od qUAKER »

kingpin

  • Návštěvník
  • Příspěvků: 44
Re: BASH zjisteni jestli je promenna cislem
« Odpověď #2 kdy: 06 Července 2009, 11:32:12 »
Tak toto by ma nenapadlo...
Moc chytre, vdaka za pomoc  :)

qUAKER

  • Host
Re: BASH zjisteni jestli je promenna cislem
« Odpověď #3 kdy: 06 Července 2009, 11:48:19 »
Tak toto by ma nenapadlo...
Moc chytre, vdaka za pomoc  :)

btw, continue a break není možné použít v if, jen v for, while a until :)

premet

  • Host
Re: BASH zjisteni jestli je promenna cislem
« Odpověď #4 kdy: 06 Července 2009, 12:17:31 »
Ješte si tam můžeš přidat do toho "case" nakonec tohle
Kód: [Vybrat]
*) echo "Špatný operátor";pro případ, kdy se zadá špatný operátor  :)

Quejky: Ale jinak celkem dobrej způsob na testování integerů, tohle by mě nenapadlo, snad to funguje  ;D
« Poslední změna: 06 Července 2009, 12:25:21 od Premet »

kingpin

  • Návštěvník
  • Příspěvků: 44
Re: BASH zjisteni jestli je promenna cislem
« Odpověď #5 kdy: 06 Července 2009, 12:47:41 »
Citace
btw, continue a break není možné použít v if, jen v for, while a until :)

Cykly som este moc nepreberal ale myslim, ze sa k nim tento tyzden urcite dopracujem a dam si do buducna pozor. Vdaka za upozornenie  :)

*) Echo ... doplnene a funguje  :)

qUAKER

  • Host
Re: BASH zjisteni jestli je promenna cislem
« Odpověď #6 kdy: 06 Července 2009, 13:41:45 »
a taky by to chtělo vychytat to, že to bere a vypisuje jen celá čísla :)

 

Provoz zaštiťuje spolek OpenAlt.