Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: Alex_bro en 26 Abril 2007, 15:32 pm



Título: Bash - Error en operaciones?
Publicado por: Alex_bro en 26 Abril 2007, 15:32 pm
Buenas, estoy aqui haciendo un codigo para calcular % en shell...
Traduciendo la siguiente formula matematica para calular la diferencia entre 2 cantidades:
Código:
1valor=50
2valor=75
(2valor-1valor)/1valor*100 = 25

Me salio asi:
Código:
capini=75
capinic=50
let porcapc=($capini-$capinic)/$capinic*100
echo $porcapc
Pero me da 0 en lugar de 25
Que esta mal? he estado probando estos 2 dias con miles de soluciones...

Saludos y gracias

EDITO
Ya encontre el problema, y era por el tema decimales.......
ahora tengo otro, puse un if para separar las operaciones de decimales con ls que no a gusto del usuario:
Código:
if [ "$decimf" = "no" ]; then
  let timp=timp+$imp
else 
  timp=$(echo "scale=$decimscala;timp+$imp" | bc)
fi
Pero en el primer caso (no decimales) va perfecto con enteros y TIMP se autoincrementa... y en el segundo caso puede coger los decimales pero TIMP no se autoincrementa en el bucle (esta mas arriba del codigo que puse) y solo toma el ultimo valor de &imp

Gracias