Foros del Web » Administración de Sistemas » Unix / Linux »

[SOLUCIONADO] Comparar números NO enteros

Estas en el tema de Comparar números NO enteros en el foro de Unix / Linux en Foros del Web. Hola! Estoy tratando de hacer un script muy sencillo en bin/bash en el que tengo un número decimal que varía según el día, por ejemplo ...
  #1 (permalink)  
Antiguo 18/03/2013, 10:13
 
Fecha de Ingreso: septiembre-2012
Mensajes: 15
Antigüedad: 12 años, 2 meses
Puntos: 1
Comparar números NO enteros

Hola!

Estoy tratando de hacer un script muy sencillo en bin/bash en el que tengo un número decimal que varía según el día, por ejemplo hoy sería 6.423 y mañana -1.32 y quiero que si ese número es mayor o menor que 0.5 el script realice una operación u otra.

Lo que hago es:

num=6.423
valor=0.5
if [ $num -gt $valor ]; then
echo "es mayor">resultado.txt
fi

Pero me sale un mensaje de error y me dice que se esperaba un número entero. Hay alguna forma de usar "if" con número decimales?

Os agradezco muchísimo cualquier pista o ayuda que podáis darme
  #2 (permalink)  
Antiguo 19/03/2013, 11:14
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Comparar números NO enteros

La shell no maneja números decimales. La opción más sencilla es usar bc:

Código BASH:
Ver original
  1. RESULTADO=$( echo "6.423>0.5" | bc )
  2. if [ $RESULTADO -eq 0 ]; then
  3.     echo "Es Mayor"
  4. else
  5.     echo "Es menor o igual"
  6. fi
  #3 (permalink)  
Antiguo 23/03/2013, 05:22
 
Fecha de Ingreso: septiembre-2012
Mensajes: 15
Antigüedad: 12 años, 2 meses
Puntos: 1
Respuesta: Comparar números NO enteros

Perfecto!!! Así funciona estupendamente :D

MUCHIIIIIIIIIIIIIISIMAS GRACIAS!!!!!

Etiquetas: enteros
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:14.