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#!/bin/bash
A=1
B=1000
P=50
if [ $A -lt $P ] && [ $P -lt $B ]; then
echo "ok"
else
echo "no"
fi
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