En los programas del Shell como en todos los lenguajes de programación, una variable es una localidad de memoria que almacena un valor. Aquí no se tiene que asociar un tipo de dato a las variables, pero sí tienen asociado un identificador, que es el nombre de la variable. Para asignarle directamente el valor de una variable haríamos:

 

var1=13

var2=”cadena”

var3=ls

 

Para acceder al valor de una variable se tiene que utilizar el símbolo de dolar, esto cuando queramos usar el valor de las variables para hacer una operación aritmética o para simplemente imprimir su contenido, cuando ponemos el símbolo $ antes del nombre de la variable, el shell busca en memoria el valor almacenado para el identificador que tiene asociado una variable.

 

En el momento que ejecutamos un script de shell, podemos pasarle valores a dicho script desde la misma línea de comandos. Estos se llaman argumentos o parámetros del script y podemos utilizar sus valores dentro de nuestro script de la siguiente forma:

 

$0 Contiene el nombre del programa

$# Cuenta los parámetros. Contiene la cantidad de (parámetros, argumentos o variables) que se han pasado en el momento de la ejecución, excepto la del nombre del programa, es decir la variable del nombre del programa no entra en la cuenta.

$n los parámetros que pasamos en el momento de la ejecución, n puede ser del 1 al 9, si ocupamos más de 9, tendríamos que referenciarlos así ${10} usando las llaves para encerrar el número del parámetro.

$* Esta variable contiene la lista de todos los parámetros que fueron pasados al script, con

excepción del nombre del programa $0.

 

Hagamos un programa para ejemplificar lo anterior, con el editor de textos de tu preferencia escribimos el siguiente código, yo utilizaré gedit:

 

$gedit 001.sh &

El ampersand es para que no quede bloqueada la consola.

Una vez que terminamos de teclear las líneas de código, guardamos los cambios y le damos permisos de ejecución al programa:

 

$chmod +x 001.sh

 

Ahora ejecutamos el programa no olvidando pasar los parámetros en el momento de la ejecución.

$./001.sh uno dos tres cuatro cinco seis siete ocho nueve diez

 

En este los valores que estamos pasando de los parámetros son cadenas de caracteres, se van asignado por posición así que el nombre del programa se almacena en $0, la cadena “uno” se almacena en $1, la cadena “dos” se almacena en $2 y así sucesivamente.

 

Pero. ¿Qué pasa si desde la consola pasamos menos parámetros que las variables que usamos dentro del programa?

 

$./001.sh uno dos tres cuatro cinco

 

 

Como podemos apreciar en la captura anterior si pasamos menos parámetros del número de variables que utilizamos en el programa, lo que sucede simplemente es que a los valores de laa variables que no les toca valor quedan vacías, en este caso se llena $0 con el valor del programa, $1 con la cadena “uno”, $2 con la cadena “dos”, $3 con la cadena “tres”, $4 con la cadena “cuatro”, $5 con la cadena “cinco”. Y a partir de la variable $6 hasta las $10 como ya no se suministro valor desde la consola en el momento de ejecutar el programa quedaran vacíos.

 

Por el momento es todo, después haremos más ejercicios con paso de parámetros, en los próximos post. Espero que les sirva la información, cualquier duda favor de dejar su pregunta. SaluLINUX.

Powered By DT Author Box

Written by chris

Programación Shell de Linux. Variables desde consola.

Leave a Reply

Follow

Get every new post delivered to your Inbox

Join other followers:

%d bloggers like this: