Introducción a bash: Pasar argumentos a un script bash

En esta segunda entrega de la miniguía de bash vamos a ver cómo pasar argumentos (o parámetros a un script bash).

En la primera entrega vimos cómo crear un fichero y hacerlo ejecutable. Siguiendo esas instrucciones puedes crear un fichero llamado parametros.sh y copiar lo siguiente:

Si invocamos el script con el siguiente comando:

el resultado sería:

Como vemos, el argumento “primero” ha quedado almacenado en la variable $1 (sí, con bash se pueden usar variables ¿no es maravilloso?).

El siguiente comando:

Nos mostrará lo mismo que antes:

Los argumentos en bash se separan por un espacio, de tal forma “segundo” sería el segundo argumento. Para recogerlo y mostrarlo tendríamos que modificar nuestro script:

Para recoger el tercer argumento usaríamos $3 y así sucesivamente.

Existe una variable, $#, que se crea automáticamente que contiene el número de argumentos que se han pasado al script:

al llamarlo con:

mostrará:

También se crea automáticamente otra variable, $@, que es un array que contiene todos los argumentos. Si hacemos:

nos mostará todos los argumentos:

resultado:

Ya veremos en otra entrega cómo trabajar con este y otros arrays.

¿Qué utilidad tiene esto de los argumentos?

Los argumentos dan una gran flexibilidad a nuestros scripts ya que mediante ellos podemos indicar con qué fichero o directorio queremos trabajar o especificar un usuario por ejemplo.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.