Como dijimos en un post anterior, bash tiene multitud de variables internas que podemos usar en nuestros scripts.
En esta ocasión nos vamos a centrar en las variables relacionadas con el paso de parámetros a nuestro script.
Parámetros
En bash podemos hacer referencia a cada parámetro pasado a un script de forma individual mediante las variables $1, $2, etc, que corresponden con el primer parámetro, segundo parámetro, etc.
#!/usr/bin/env bash echo -n "$1 x $2 = " expr $1 \* $2
Obteniendo el siguiente resultado:
$ ./multiplica.sh 3 2 3 x 2 = 6
Nombre del script
Una de las variables que podemos usar es $0, que hace referencia al nombre de nuestro script:
#!/usr/bin/env bash echo "$0 version 0.1" echo -n "$1 x $2 = " expr $1 \* $2
Obteniendo lo siguiente:
$ ./multiplica.sh 3 2 ./multiplica.sh version 0.1 3 x 2 = 6
Unión de todos los parámetros
Hay otra variable de bash que devuelve una cadena de texto con todos los parámetros pasados a nuestro script. Se trata de la variable $* o $@.
#!/usr/bin/env bash echo "$0 version 0.1" echo "Parámetros pasados: $*" echo -n "$1 x $2 = " expr $1 \* $2
Y obteniendo la siguiente salida:
$ ./multiplica.sh 3 2 Parámetros pasados: 3 2 3 x 2 = 6
Número de parámetros
bash tiene una variable que indica el número de parámetros que nos han pasado. Se trata de la variable $#. Veamos un ejemplo:
#!/usr/bin/env bash if [ $# -ne 2 ] then echo "Error en el paso de parámetros." echo "Uso: $0 Num1 Num2" else echo -n "$1 x $2 = " expr $1 \* $2 fi
Obteniendo las siguientes salidas por pantalla:
$ ./multiplica.sh 4 Error en el paso de parámetros. Uso: ./multiplica.sh Num1 Num2 $ ./multiplica.sh 4 2 5 Error en el paso de parámetros. Uso: ./multiplica.sh Num1 Num2 $ ./multiplica.sh 4 2 4 x 2 = 8
No hay comentarios:
Publicar un comentario