Ver Mensaje Individual
  #6 (permalink)  
Antiguo 21/12/2010, 11:42
gonzo13
 
Fecha de Ingreso: agosto-2008
Mensajes: 240
Antigüedad: 15 años, 6 meses
Puntos: 6
Respuesta: Pequeña duda en un script de bash

Hola !!

de todas formas, yo diría que matemáticamente hablando estáis teniendo en cuenta los intervalos abiertos ( -inf , 1 )u(1000 , +inf ). Intervalos que no deseáis usar. Vosotros queréis el intervalo abierto ( 1 , 1000).

Prueba con el siguiente código:

Código BASH:
Ver original
  1. #!/bin/bash
  2.  
  3. A=1
  4. B=1000
  5. P=50
  6.  
  7. if [ $A -lt $P ] && [ $P -lt $B ]; then
  8.     echo "ok"
  9. else
  10.     echo "no"
  11. fi
  12.  
  13. exit

el caso es que las comparaciones numéricas no se realizan con los operadores a los que estamos acostumbrados ( <, >, ==, != ). Éstos se usan para comparar cadenas.

Para comparar números se usan "-lt", "-le", "-eq", "-ge", "-gt", "-ne". Son parecidos a las instrucciones de comparación del lenguaje ensamblador.

Un saludo,
gonzo13