Operaciones matemáticas

Imagen de Epe

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