[eside-ghost] Variables en Bash
Malkavian
malkavian666 en gmail.com
Vie Nov 10 01:02:09 CET 2006
¡Aupa Jon!:
> ¿Cómo saber si una variable capturada como entrada desde stdin (read
> variable) en Bash es de tipo integer o string?
Pues no se si habrá algo para hacerlo, aunque supongo que sí.
> Creo que en Bash las vars no son tipadas, pero si que hay variación a
Efectivamente no lo son.
> En cambio:
>
> $ var=t
> $ test $var -gt 5
> bash: test: t: se esperaba expresión de tipo entero
Si despues haces var=7 y repites el test $var... funcionaría, pues
no son tipadas...
> Un test previo para saber que tipo es y no hacer un error (saltarselo
> por ejemplo)?
En caso de que nadie te de una solución, una cutre-solución puede ser
hacer algo parecido a lo que has hecho:
var=3
if [ $var -gt 0 ] || [ $var -le 0 ]
then esInt="si"
else esInt="no"
fi
O en dos líneas (se podría hacer en una y tal):
var=3
if [ $var -gt 0 ] || [ $var -le 0 ]; then esInt="si"; else esInt="no"; fi
Si quieres hay forma de hacer que no salgan los errores derivados de
asignar algo que no sea un número a $var en la consola... Por otro lado
quizás exista algo para detectar esos errores y darte la solución
también...
--
Agur: Javier Ortega Conde (Malkavian)
------------------------------------------------------------------------
La página de Malkavian: De todo un poco http://malkavian.homelinux.org
Miembro del Grupo de LinUxuarios de Bizkaia (GLUB) http://glub.biz
Miembro de Eghost, Itsas, Ether, GULA, GLUGI, Guardianes del Túmulo...
------------------------------------------------------------------------
User error: Replace user and hit any key to continue.
Más información sobre la lista de distribución eside-ghost