inicio

Jun 17, 2013
|

Bash Scripting: Variables

Si la semana anterior hicimos nuestro primer «hola mundo» con bash, esta semana ya empezamos a ponernos más serios y vamos a hablar de las variables. Como definirlas y utilizarlas. Empezamos como no puede ser de otra forma viendo un poco de teoría.

 

Según el tipo de lenguaje, las variables tienen diferentes características, pero lo que las caracteriza es que se le pueden asignar datos y luego recuperarlos. En el caso de bash, las variables no tienen tipos definidos como ocurre en C o Java, por ejemplo.

Lo siguiente que debemos saber de las variables es como crearlas, darles valor y como recuperar ese valor. También aquí es diferente de otros lenguajes, no debemos hacer una definición rigurosa de la variable, simplemente seleccionamos un nombre y le damos un valor. Veamos un ejemplo:

 

miVar = "Hello world"

 

Simple y rápido. En este caso miVar ya tiene asignado el valor. No hace falta definirla ni indicar que es un String.

Ahora vamos a ver como recuperarla, en este caso hay que anteponer el símbolo del $ al nombre de la variable. Veámoslo:

 

echo $miVar

 

También muy simple. En este caso hacemos un echo de la variable. Ahora abriremos un terminal para crear un archivo llamado vars.sh con el comando gedit. Recordad que en el artículo introductorio vimos como crearlo y darle permisos de ejecución.

 

#!/bin/bash         
miVar="Hello world"
echo $miVar

 

Y ahora si finalmente lo ejecutáis, veréis como saca por pantalla el mensaje que asignamos a la variable.

Si lo que queremos es ejecutar una instrucción como puede ser ls y obtener su resultado por pantalla, simplemente debemos utilizar $ y encerrar la instrucción entre paréntesis. Si modificáis en el ejemplo anterior la asignación del texto por la instrucción que os comentaba, quedaría algo así:

 

miVar = $(ls)

 

O incluso podéis utilizar parámetros, así:

 

miVar = $(ls -ali)

 

Si ejecutáis ahora el script, veréis que el resultado por pantalla es el resultado del comando ls.

Por último nos queda ver el alcance de nuestras propiedades, con la utilización del argumento local podemos definir variables a nivel local. Veamos un ejemplo.

 

#!/bin/bash         
miVar="Hola"

function miFunction {
 local miVar="mundo"
 echo $miVar
}

echo $miVar
miFunction
echo $miVar

 

Hemos modificado un poco nuestro «hola mundo» y hemos creado una función. Si, una función, de momento es muy simple, pero ya volveremos más adelante para hablar del tema. Ahora nos sirve en este ejemplo para ver como anteponiendo la palabra local cuando definimos el valor de miVar esta se convierte en una variable local dentro de nuestra función.

Al final sacamos por pantalla primero miVar que está a nivel global, después ejecutamos miFunction que sacará el valor local de la variable y por último volvemos a sacar el valor global de miVar. Ejecutarlo y veréis el resultado.

Por último, podéis quitar la palabra local del ejemplo anterior y veréis que a la variable global miVar se le reasigna su valor dentro de la función. Volvéis a ejecutarlo y veréis la diferencia.

The following two tabs change content below.
Técnico en Administración de Sistemas y Desarrollo de Aplicaciones. Amigo de sus amigos, y una mente inquieta que no puede dejar un ordenador de lado porque necesita programar aplicaciones Android o aplicaciones en general, además de páginas web. Nuestro programador de cabecera y espero que también el vuestro.

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información. ACEPTAR

Aviso de cookies