Hay varias formas de realizar operaciones matemáticas en el shell, te planteo algunas:
expr
con expr puedes obtener el resultado de una operacion matemática, por ejemplo:
[code]
expr 5 "+" 4
9
[/code]
Tiene un defecto, y es que el pobrecito no sabe realizar divisiones con decimales, mira:
[code]
expr 5 "/" 4
1
[/code]
con let:
te permite asignarle a una variable (c en mi ejemplo) la operación con dos numeros, mira:
[code]
let c=1+2; echo $c
3
[/code]
la mala noticia, tampoco sabe dividir con decimales.
Después de profunda búsqueda, encontré a los muchos años una forma de dividir con decimales, usando bc, mira:
[code]
echo "1/2"|bc
0
[/code]
Todo parece ser lo mismo, me devuelve 0 (el entero de 0.5), pero mira, el BC te permite definir un parámetro llamado scale, mediante el cual defines cuántos decimales quieres para la división, mira:
[code]
echo "scale=2;1/2"|bc
.50
[/code]
mira eso, con scale, defino cuántos decimales y me devuelve bien, .50, excelente.
no dudo que con let y/o con expr se puedan obtener decimales, sólo que nunca lo he podido lograr, total en linux siempre hay más de una forma de hacer las cosas
Comentarios
Te faltó una
Te faltó una forma
VALOR=$((1/2))
echo $VALOR
0
Solo que también opera solo con enteros ...
bye
;)