lunes, 28 de enero de 2019

Fallo al referenciar parámetros a partir de la décima posición

Como se vio en la entrada anterior, donde se explica cómo hacer uso de los parámetros que se le pasan a un script, se puede referenciar a los distintos parámetros de forma individual.
No obstante, surgirán problemas si intentamos referenciar los parámetros a partir de la posición 10.
Veamos un ejemplo:

#!/usr/bin/env bash

echo "El parámetro en la onceava posición es $11"
Si hacemos la siguiente prueba, el resultado será el esperado:
$ ./parametros.sh 1 2 3 4 5 6 7 8 9 10 11
El parámetro en la onceava posición es 11
Pero para otros parámetros, el resultado variará respecto a nuestras espectativas:
$ ./parametros.sh a b c d e 6 7 8 9 10 11 12
El parámetro en la onceava posición es a1
Esto es debido a que la forma de referenciar los parámetros que superan la novena posición es la siguiente:
${10}, ${11}, ...
Por tanto, en la primera ejecución se sacó por pantalla el primer parámetro más el caracter “1” que seguía a $1.
Nuestro script quedaría de la siguiente forma:
#!/usr/bin/env bash

echo "El parámetro en la onceava posición es ${11}"

No hay comentarios:

Publicar un comentario