Fórum Ubuntu CZ/SK
Ubuntu pro osobní počítače => Software => Příkazový řádek a programování pro GNU/Linux => Téma založeno: kingpin 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
#!/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`;
;;
/)
-
#!/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
-
Tak toto by ma nenapadlo...
Moc chytre, vdaka za pomoc :)
-
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 :)
-
Ješte si tam můžeš přidat do toho "case" nakonec tohle
*) 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
-
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 :)
-
a taky by to chtělo vychytat to, že to bere a vypisuje jen celá čísla :)