Parámetros en Bash Scripts

En un artículo anterior dábamos una pequeña introducción a la programación de scripts en bash. Ésto no estaría completo sin hablar de que los scripts en bash también permiten la inclusión de parámetros, ampliando las opciones en el manejo de información y flujo del mismo.

 

Éstos parámetros son introducidos a nuestro script a través de la línea de comandos al llamar a nuestro script, con la sintaxis:

./script.sh param1 param2 param3

Y así tantos sean necesarios. Lo único que puede variar es el llamado a nuestro script, puede realizarse a través de la ruta absoluta o con ./ si el script se encuentra ya en la carpeta donde nos encontramos ubicados.

Podemos realizar nuestro acceso a través de las variables $n, comenzando por $1 y así, hasta cubrir el total de los parámetros recibidos. Por ejemplo, considerando el siguiente mini script:

#!/bin/bash
echo "Primer parámetro: " ${1}
echo "Segundo parametro: " ${2}

Y su llamada con:

./params.sh param1 param2

Tendría una salida:

Primer parámetro: param1
Segundo parametro: param2

Nada fuera del otro mundo, pero que perfectamente nos sirve para ilustrar la funcionalidad.

Aparte de las variables que toman los valores consecutivos de nuestra llamada al script, existen otras variables que nos apoyan con este control:

$0, contiene el nombre del script en ejecución

$#, contiene el numero de parámetros pasados al script

$*, contiene el listado completo de todos los parámetros

Así, por ejemplo:

#!/bin/bash
echo "Primer parametro: "${1}
echo "Segundo parametro: "${2}
echo "Nombre del script: "${0}
echo "Numero de parametros recibidos: "$#
echo "Todos los parametros: "$*

Nos mostraría:

vdebian:~/bash> ./params2.sh param1 param2
Primer parametro: param1
Segundo parametro: param2
Nombre del script: ./params2.sh
Numero de parametros recibidos: 2
Todos los parametros: param1 param2

Seguro que con estos ejemplos podrán darle un mejor uso. Apoco no?

 

Facebook Twitter Email

Entradas relacionadas

También te podría gustar...

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *