24 jun 2010

PROGRAMACIÓN SHELL LINUX 1

Etiquetas de Technorati:

Bueno empezaré en plan rápido sin prólogos ni leches, jeje, lo que quiero es que se entienda este curso de programación con el shell de Linux/Unix. Empezamos…

Las variables de usuario

Como poner nombre a una variable

A continuación se muestran las reglas que hay que seguir para dar un nombre a las variables:

Definir una variable

Una variable está definida desde el momento en que ha sido inicializada. El contenido de una variable se considera por el shell como un conjunto de caracteres

terminal1

terminal2

En este ejemplo, el shell interpreta var1 como el comando a ejecutar, = y palabra1 como los dos argumentos del comando var1. Dicho de otra manera, no interpreta el simbolo = como símbolo de asignación.

Asignar una cadena de caracteres con al menos un espacio

El carácter de espacio tiene que estar protegido ya que es un carácter especial del shell (es un separador de palabras en la línea de comandos).

Ejemplo:

terminal3

Cuando hay espacios se introduce entre comillas “”

Variable indefinida

Una variable que nunca se ha inicializado está vacía; utilizar una variable vacía no se considera un error en shell.

Ejemplo:

terminal4

Borrar la definición de una variable

Con el comando interno unset podemos borrar la definición de una variable.

Ejemplo:

terminal5

Aislar el nombre de una variable

Hay que poner especial atención en la concatenación del contenido de una variable con una cadena de caracteres para que el shell interprete correctamente el nombre de la variable.

Ejemplo:

Para el shell, el carácter _ forma parte del nombre de la primera variable:

terminal6

Para el shell, la primera variable se llama arch_. Por lo tanto es sustituido por su valor (que es vacio) y finalmente concatenado con el contenido de la variable fechadia.

Para especificar al shell cuáles son los caracteres que forman parte del nombre de una variable, hay que poner el nombre de éste último entre {}.

Sustitución de caracteres

El shell ofrece la posibilidad de atribuir un valor por defecto a las variables no inicializadas o, al contrario, a las inicializadas.

Expresión ${variable:-valor}

Si la variable no está vacía, la expresión se substituye por el contenido de ésta.

Si la variable está vacía, la expresión se substituye por valor.

Ejemplo:

terminal7

Expresión ${variable:=valor}

Si la variable no está vacía, la expresión se substituye por $variable.

Si la variable está vacía, a la variable se le asigna un valor y la expresión se substituye por valor.

Ejemplo:

terminal8

Expresión ${variable:+valor}

Si la variable no está vacía, la expresión se substituye por valor.

Si la variable está vacía, la expresión se substituye por $variable, luego estará vacía.

Ejemplo:

terminal9

${variable:?mensaje}

Si la variable no está vacía, la expresión se substituye por $variable.

Si la variable está vacía, el shell muestra el nombre de la variable seguido de la cadena de caracteres mensaje.

NOTA: Si la variable está vacía y este comando está en un script de shell, éste muestra el mensaje y finaliza inmediatamente.

Ejemplo:

La variable var está vacía:

clip_image001

Mensaje por defecto:

clip_image002

Hasta aquí el capítulo primero de este curso, espero que te sea de gran utilidad, hasta la próxima.

No hay comentarios: