[eside-ghost] Variables en Bash
halls
frikihalls en gmail.com
Vie Nov 10 01:52:54 CET 2006
wop!
pues siguiendo con la logica de txipi y el bc, se me ha ocurrido este
script... y esta vez no es guarro XD
-----------------------------8<----------------------------------------------------
#!/bin/bash
# primero hacemos una funcion ke nos diga si
# es un numero o no, y devuelva lo correspondiente
function es_numero()
{
TEMP=$(echo $1 | bc);
if [ "$TEMP" = "0" ]; then
if [ "$1" = "0" ]; then
return 1
else
return 0
fi
else
return 1
fi
}
# como prueba ponemos esto:
# si es un string, devolvera un 0, por lo tanto bash lo considerara como
# ke la ejecucion de "es_numero $1" no tiene errores y ejecutara la
siguiente,
# mostrando el mensaje. Como en conjunto "no ha habido errores", es decir
# no ha habido resultado de operacion distinta de 0, el ultimo mensaje
# no se muestra.
#
# De lo contrario, al ser string, la funcion devuelve como ke ha habido un
# error en la ejecucion, por tanto no se ejecuta el AND, pero si el OR...
{ es_numero $1 && echo "Tu VAR es un string."; } || echo "Tu VAR es un
numero."
---------------------------------------------8<--------------------------------------------------
espero ke te sirva ;-)
alejop!
PD: ya me puedo ir a la cama trankilo XD
2006/11/10, txipi <txipi a bildua sindominio.net>:
>
> Aupa!
>
> On Fri, 10 Nov 2006 01:10:05 +0100
> txipi <txipi a bildua sindominio.net> wrote:
>
> > > > Hazte un programa que reciba un string y devuelva 0 si es un
> > > > número :-D
> > > Esteeee.... ¿Cómo? ¿Y como discrimino que lo que recibe es un
> > > string?
> > No, para nada. El comando test no está hecho en bash ;-P
>
> Por cierto, usando bc, puedes convertir cualquier variable en un numero:
>
> var="hola"
>
> echo $var | bc
> 0
>
> var=77171717
>
> echo $var | bc
> 77171717
>
> Por ahí va un camino a una solución elegante ;-)
>
> --
> Agur,
> txipi
>
>
> _______________________________________________
> eside-ghost mailing list
> eside-ghost a bildua deusto.es
> https://listas.deusto.es/mailman/listinfo/eside-ghost
>
>
-------------- hurrengo zatia --------------
Erantsitako HTML dokumentu bat ezabatu egin da...
URL: https://listas.deusto.es/mailman/private/eside-ghost/attachments/20061110/49d74de2/attachment.htm
Más información sobre la lista de distribución eside-ghost