[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