VARIABLES.

Normalmente, no declarará variables en la shell antes de usarlas. en su lugar, las creará al usarlas (cuando les asignemos un valor inicial). Por defecto todas las variables se consideran y se guardan como cadenas, aunque se les asigne valores  numéricos. La shell y algunas utilidades convertirán las cadenas numéricas en sus valores con el fin de trabajar con ellas según se necesite. Linx es sensible ante las mayúsculas, por eso la shell cree que la variable foo es diferente a Foo, y ambas a su vez son distintas a FOO.

Dentro de la shell puede acceder al contenido de una variable colocando antes del nombre el símbolo $. Cuando asigne un valor a la variable, usaremos simplemente el nombre de la variable que se creará:

ejemplo_variable_script
El modo sencillo de comprobar las variables es enviarlas a la terminal mediante el comando echo y colocando el símbolo $ antes del nombre.

nota_2331
Puede asignar las entradas de usuario a la variable mediante el comando read. Éste adopta un parámetro, el nombre de la variable que hay que leer, y después espera que el usuario introduzca texto. La lectura se suele completar cuando el usuario presiona INTRO. Normalmente, cuando lea una variable de la terminal, no serán necesarias las comillas:

ejemplo_saludo
COMILLAS

Normalmente, los parámetros de los scripts están separados por caracteres en blanco (un espacio, un tabulador, o una nueva línea). Si queremos que un parámetro contenga uno o más caracteres en blanco, lo debemos entrecomillar al parámetro.

El comportamiento de la variable $variable depende del tipo de comillas usadas.

comillas_script
Si introducimos una expresión de variable $ entre comillas dobles (” “), será reemplazada por su valor cuando se ejecute la línea. Si se emplean comillas simples, no tendrá lugar ninguna sustitución. También podemos eliminar el significado especial del símbolo $ añadiendo delante una barra invertida (\).

Normalmente, las cadenas suelen ir entre comillas dobles. De esta manera, las variables no irán separadas por espacios en blanco, pero sí que podrá tener lugar la expansión $

comillas_script_2
COMO FUNCIONA

Creamos la variable $variable y le asignamos la cadena Hola Mundo. Los contenidos de la variable se muestran junto al comando echo, para ver cómo se expanden dichos contenidos al añadir a la variable el carácter $. Observamos que el uso de las comillas dobles no provoca la sustitución de la variable, mientras que las comillas sencillas (' ') y la barra invertida (\) sí que lo hacen. También usamos el comando read para obtener una cadena del usuario.

VARIABLES DE ENTORNO

Cuando se inicia un script shell, algunas variables se inicializan a partir de variables del entorno. Suelen estar todas en mayúsculas para distinguirlas de las variables definidas por el usuario (shell) en el script, que suelen ir en minúsculas. Muchas aparecen en las páginas de consulta, pero las principales se las presentamos a continuación:

variable_entornonota_variable
VARIABLES DE PARÁMETROS

Si se invoca el script junto a un parámetro, se crean otras variables. Si no se transmiten parámetros, la variable de entorno $# sigue existiendo peor con unh valor de 0.

Las variables de entorno aparecen en la siguiente tabla:

variables_script_parametro
Podemos ver la diferencia entre $@ y $* al probarlas:

ejemplo_variable_parametro
Podemos ver que dentro de las comillas dobles, $@ expande los parámetros posicionales como campos independientes, independientemente del valor de IFS. En general, si desea acceder a los parámetros, $@ es la opción más sensata.

Ademas de imprimir los contenidos de las variables usando el comando echo, también podemos leerlas usando el comando read.

MANIPULAR PARÁMETROS Y VARIABLES DE ENTORNO

El siguiente script pone de manifiesto algunas manipulaciones de variable sencillas. Una vez que haya escrito el script y que lo haya guardado como probar_var, no olvide convertirlo en ejecutable mediante chmod +x probar_var.

script_variable_entorno
El script crea la variable saludo, muestra su contenido, y después muestra cómo siguen existiendo las variables de parámetros varios y la variable de entorno $HOME, y cómo tienen además valores adecuados.

atras

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s