Bash - Error en operaciones?

Iniciado por Alex_bro, 26 Abril 2007, 15:32 PM

0 Miembros y 1 Visitante están viendo este tema.

Alex_bro

Buenas, estoy aqui haciendo un codigo para calcular % en shell...
Traduciendo la siguiente formula matematica para calular la diferencia entre 2 cantidades:
1valor=50
2valor=75
(2valor-1valor)/1valor*100 = 25


Me salio asi:
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:
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