Índice

Variables reservadas del shell

En un script, una serie de variables reservadas son accesibles en modo lectura. Estas variables se inicializan por parte del shell y ofrecen información de diversa índole.

1. Los parámetros posicionales

Los scripts en shell son capaces de recuperar los argumentos pasados por línea de comandos con la ayuda de variables especiales, llamadas parámetros posicionales

  • $# representa el número de argumentos recibidos por el script.

  • $0 representa el nombre del script.

  • $1 representa el valor del primer argumento, $2 el valor del segundo y es así hasta $9, que representa el valor del noveno argumento. Ksh y bash permiten usar las variables especiales ${10}, ${11}, etc. Las llaves son obligatorias cuando el nombre de la variable contiene más de una cifra.

  • $* y $@ representan la lista de todos los argumentos (la diferencia entre $* y $@ se presenta en el capítulo Aspectos avanzados de la programación shell - Comparación de las variables $* y $@).

Ejemplo

A continuación, un script que muestra el valor de cada parámetro posicional:

$ vi miscript.sh 
echo "Este script ha recibido $# argumentos" 
echo "El nombre del script es: $0" 
echo "Mi 1º argumento es     : $1" 
echo "Mi 2º argumento es     : $2" 
echo "Mi 3º argumento es     : $3" 
echo "La lista de todos mis argumentos: $*" 
$ chmod u+x miscript.sh

Llamada de miscript.sh ...