educatica!

educación, informática y demás

Parámetros

Los parámetros de un shell script permiten proporcionar al usuario que ejecuta el script pasar información justo en el momento de ejecutar el script.

Para ello, después de escribir el nombre del script a ejecutar, como si fuera un comando de GNU/Linux Bash, se pueden escribir los parámetros que se le desean pasar al script, en el orden adecuado.

Si el desarrollador del script quiere hacer uso de esta información, tan solo tiene que consultar una serie de variables especiales que son inicializadas por el interprete de comandos con los parámetros que se han pasado al ejecutar el comando o shell script.

Estas variables son las siguientes:

  • $#. Número de parámetros. Esta variable contiene el número de parámetros que se han pasado al shell script.
  • $0..$9. Se trata de 10 variables especiales que contienen los valores de los parámetros que se han pasado al shell script, así como el nombre del propio shell script ejecutado. $0 contiene el nombre del script. $1 a $9 contiene cada uno de los parámetros que se han pasado al script al ejecutarlo.
  • $* y $@. Contienen una cadena de texto con todos los parámetros pasados al script, excepto el parámetro 0 o $0 que es el nombre del shell script.

El desarrollador del script decidirá si utiliza o no estas variables dentro de su script, así como el uso que se le da.

Hay que tener mucho cuidado con los parámetros, puesto que es el usuario que ejecuta el script el que deberá escribir el valor de estos parámetros y pueden darse problemas como los siguientes:

  • En un script que necesite que se pase un valor por parámetro para poderse ejecutar, el usuario olvida pasar parámetro.
  • El usuario inserta un valor no válido para el script.
  • El número de parámetros pasados es inferior al necesario.

Estos problemas hay que controlarlos realizando comprobaciones de parámetros haciendo uso de sentencias if.

Por último, se recomienda asignar el valor de las variables de parámetro a variables cuyo nombre sea más significativo que la propia variable de parámettro. Por ejemplo, si el parámetro $1 almacena el nombre de un usuario con el que se va a trabajar a lo largo de un script de cierto tamaño, es mejor asignar a una variable llamada usuario el valor de la variable $1 en lugar de trabajar con $1, que es poco significativo.

usuario = $1

Tema creado por Anders Norén