Mes: abril 2011

Variables con tipo en Bash.

Por defecto al crear una variable en bash ésta es del tipo string ( aunque después se puede utilizar como si fuese una array sin que nos de ningún problema).
En las primeras shell las variables no podían contener otra cosa que caracteres, pero después se introdujo la posibilidad de asignarles atributos que indiquen de que tipo son, por ejemplo, podemos especificar que tipo de variable vamos a crear, o que nuevo atributo va a tomar una variable ya creada.
Podemos fijar el tipo de variable que vamos a crear con el comando interno declare, la sintaxis del comando es la siguiente:
declare [-aAfFilrtux] [-p] [name[=value] …]
Algo a lo que hay que prestar atención es que para activar un atributo a una variable se procede de un guión , y para desactivar un atributo se coloca el signo + .
Estas son las opciones del comando interno declare.

Opción
Descripción
-a
Indica que es una variable de tipo array.
-F
Muestra sólo el nombre de las funciones.
-f
Imprime el nombre de las funciones y su contenido.
-i
La variable va ser de tipo entero.
-r
Variable de sólo lectura (es como el define de C).
-x
Equivalente al comando export

Si sólo escribimos declare nos mostrará todas las variables de entorno y las funciones junto con su contenido.Las variables que son declaradas dentro de una función con declare son variables locales de la función.
La opción -i nos permite realizar operaciones aritméticas con las variables.
Ejemplo 1 Utilizando variables normales:

numero1=5
numero2=5
resultado=$numero1*$numero2
echo $resultado
<---Salida-->
5*5 <--- Nodevuelve el resultado !!!

Pero si utilizamos las variables tipo entero:

declare -i numero1=5
declare -i numero2=5
declare -i resultado

resultado=$numero1*$numero2
echo $resultado
<---Salida-->
25

Sí que nos ha devuelto el resultado !!

No es necesario que las variables numero1 y numero2 estén declaradas como enteras para que la operación sea exitosa, sino que con declarar a la variable resultado como entera ya es suficiente:

numero1=5
numero2=5
declare -i resultado
resultado=$numero1*$numero2
<---Salida-->
echo $resultado

25 También funciona

Podemos saber a que tipo pertenece una determinada variable con el comando declare -p:

declare -i var1=3
declare -p var1
<---Salida-->
declare -i var="3"

Con la opción -r podemos indicar que una variable sea de sólo lectura, y que desde ese momento no pueda ser modificada o borrada con el comando unset. A la variable a la que queremos asignarle el atributo de sólo lectura debe estar creada y con un valor asignado o asignárselo en el momento de aplicarle el atributo de sólo lectura.

Anuncios

Blogilo Error: Cannot connect to database.

Blogilo es uno de los editores de blogs más completos e intuitivos hasta la fecha. El inconveniente es que a los usuarios de Gnome al intentar iniciar el Blogilo les puede devolver el siguiente error:

Para solucionar éste error debemos instalar el siguiente paquete libqt4-sql-sqlite:

sudo aptitude install libqt4-sql-sqlite

Después de haber instalado el paquete ya tendríamos que poder iniciar el Blogilo sin errores.

=-=-=-=-=
Powered by Blogilo