Del curso: Aprende Shell Scripting en Linux

Variables locales y globales

En este vídeo vamos a hablar de los tipos de variables que nos podemos encontrar dentro de una función y cómo podemos trabajar con ellos. Por un lado, vamos a tener las variables locales. Estas variables se declaran dentro de una función y están disponibles única y exclusivamente dentro de esa función. Las vamos a declarar poniendo local o declare delante, lo veremos en un momento, y además, cuando termine la ejecución de esta función, la variable va a desaparecer, se va a borrar y no va a estar disponible más. Vamos a ver un ejemplo de este tipo de variables. Hemos dicho que son las locales. En este script lo que vemos es, tengo definida una función, después una llamada a esa función y un echo. Vamos poco a poco. La función. En esta función lo que yo hago es definir una variable local. Pongo el local delante, pero también lo podría hacer con declare. Hemos utilizado el local, perfecto. Estoy definiendo una variable local que se llama «Esto es una variable local» y la estoy definiendo dentro de una función. Cuando mi sistema llame a esta función, lo que voy a ver es un echo desde la función y el valor de la variable local. Una vez se ha llamado esta función, hay un echo que intenta imprimir esta variable. Me gustará ver qué es lo que pasa. Vamos allá. ¿Qué ha pasado aquí? El Desde la función, esta impresión la hace bien, ¿por qué? Porque en este momento, en el momento en el que se llega a este punto, conoce el valor de esta variable, pero cuando sale fuera, esta variable deja de estar disponible, deja de poder acceder a ella. Cuando hace este echo fuera de la función, no puede mostrar el valor de esa variable, por eso mismo, porque la variable ya ha sido destruida, no hay manera de acceder a ella. Vamos con el segundo ejemplo. El otro tipo de variables son variables globales. Estas variables se pueden declarar en cualquier punto y son visibles y accesibles para todo el script dentro y fuera de las funciones. Pueden ser modificadas también tanto dentro como fuera de las funciones y simplemente se definen como las hemos definido hasta ahora, asignando un valor a una variable, no tiene más misterio. Vamos a ver cómo funcionarían en este caso. Tenemos también un ejemplo que es global. Voy a hacer un clear y te lo muestro así. Yo aquí lo que hago es definir una variable global y voy a ver que está disponible tanto dentro de la función como fuera de la función, no tiene más misterio. O sea, la variable local está tanto dentro de la función como fuera de la función, teniendo en cuenta que se ha definido fuera de la función y dentro de la función disponemos de ella. Las variables se pueden gestionar de diferente manera según la disponibilidad que queramos que tengan. En caso de las funciones, por ejemplo, pueden ser locales o globales, cosa que deberás decidir tú a la hora de definirlas.

Contenido