[eside-ghost] Variables en Bash

halls frikihalls en gmail.com
Vie Nov 10 02:16:40 CET 2006


wop!

El día 10/11/06, Jon Urionaguena <juriona a bildua nesys-st.com> escribió:
>
>  Lo intento asi, volviéndome loco, y me surgen dudas a la hora de evaluar
> expresiones:
>
> #!/bin/bash
> echo "Mete un numero..."
> read var
>
> if  [ $var=="0"  ]; then
>     loquequierohacerconelnumero()
>     exit 0
> else
>     var1= $[echo $var |bc  ]
> fi
>
> if [ $var1 -eq 0 ];then
>     echo "Perrete, eso no es un numero...!!"
>     exit 1
> else
>     loquequierohacerconelnumero()
> exit 0
>
> Usando bc, pero teniendo en cuenta la excepción con el cero... Pero la
> expresion $var=="0" (lo se, vuelvo a usar tipos, pero trato de obtener una
> manera de comparar tipos!!) siempre es true!! ¿Porqué?
>

cuando pones un if [ tal tal tal  ], en realidad ese [ tal tal tal tal  ] es
como hacer un test tal tal tal ... y ten en cuenta ke en bash true = 0,
false = 1... la expresion $var=="0" no es una expresion valida, luego su
valor es 0, por tanto es true

necesitas poner if [ $var = 0 ]  o lo ke yo suelo hacer, es meter comillas
de por medio: if [ "$var" = "0" ]
con esto te puedes salvar de cuando una variable esta vacia (no de valor 0,
sino vacia)

y ten en cuenta los espacios al ponerlo...

de todas formas, no te sirve lo k te he mandado yo en el mail anterior?

Y me surge otra duda. Al darme Bash el error " se esperaba expresión de tipo
> entero
> ", en algún sitio ya está "tipando" él, ¿no? No me casan las cosas...
> Ayuuudaaa!
>

en ke linea te la da?... yo lo unico ke veo es ke en el ultimo if te falta
un fi XD


aer si poco a poco...
-------------- hurrengo zatia --------------
Erantsitako HTML dokumentu bat ezabatu egin da...
URL: https://listas.deusto.es/mailman/private/eside-ghost/attachments/20061110/9c49d340/attachment-0001.htm


Más información sobre la lista de distribución eside-ghost