Sistemas Operativos > GNU/Linux
Obtener Tipo De Variable
arielb:
Que tal amigos, tengo una consulta.
utilizando el interprete con esta linea "#!/bin/sh", se podra obtener el tipo de una variable? osea saber si la variable es de tipo numerico, entero.
resulta que estoy tomando una variable pero el contenido que esa variable apana puede variar de entero a numerico "1" --- "1.0"
ya que las comparaciones varian depende el tipo
si es numerico seria
--- Código: Text ---if test "$var" -eq "1.0" si es entero seria
--- Código: Text ---if "$var" -eq "1"
su -:
Hmmm.... Bash no soporta decimales, tienes que usar bc.
Ademas, eso de test no hace falta... seria mejor
--- Código: Text ---if [ "$entero" -gt 0 and "$entero" -lt 5 ]; then echo "$entero es mayor a 0 y menor a 5";fi
arielb:
Bueno la forma que lo solucione es utilizando un df -a y siempre obtengo un valor entero.
Bueno con lo que dice que el test no era necesario creo que si lo era ya que el test te permite hacer comparaciones numericas lo estaba haciendo de esta forma
--- Código: Text ---if test [ "$var" -eq "1.5"]
el problema venia cuando el resultado era entero por lo tanto tuve que cambiar de -h a -a
su -:
Pues si, pero de la otra forma que tenias no se puede usar decimales.
Resulta que -eq y todo eso es heredado de test y por eso dije que no era necesario ;)
Solo que test es usado (mas que todo) para chequear tipos de archivo (inodos, dispositivos, fechas, bloques, characteres...)
dc es lo mas viable y se nota cuando usas let.
Pero si ya lo arreglaste... que mas da. :P
arielb:
ok, su aparte de solucionar un problema tambien es aprender y comprender las cosas para que no sean mecanicas :smartass: , asi que te agradezco tus respuestas. aparte de que no sabia que eran heredados de test.
:D
Navegación
[#] Página Siguiente
Ir a la versión completa