* `$ 1`:posee el primer argumento.
* `$ 2`:posee el segundo argumento.
* `$ 3`:posee el tercer argumento, y así sucesivamente.
`$ 0` es un caso especial:contiene el nombre del script o función en sí.
Ejemplo:
Digamos que tiene un script llamado `my_script.sh` con el siguiente contenido:
`` `Bash
#!/bin/bash
echo "El nombre del script es:$ 0"
Echo "El primer argumento es:$ 1"
Echo "El segundo argumento es:$ 2"
`` `` ``
Si lo ejecutas así:
`` `Bash
./my_script.sh hola mundo
`` `` ``
La salida sería:
`` `` ``
El nombre del script es:./my_script.sh
El primer argumento es:hola
El segundo argumento es:mundo
`` `` ``
Consideraciones importantes:
* Número de argumentos: Puede acceder a los argumentos hasta el número proporcionado. Intentar acceder a `$ 4` cuando solo se dieron tres argumentos dará como resultado una cadena vacía o un error, dependiendo del shell y cómo se escriba el script.
* Citando: La cita adecuada es crucial cuando se trata de argumentos que contienen espacios o caracteres especiales. Siempre cite sus parámetros posicionales al usarlos en comandos para evitar problemas de división de palabras y globos. Por ejemplo:`Echo" $ 1 "` es más seguro que `Echo $ 1`.
* `$@` y `$*`:Estas variables especiales proporcionan formas alternativas de acceder a todos los parámetros posicionales. `$@` se expande a cada argumento individualmente, citado, mientras que `$*` se expande a una sola cadena que contiene todos los argumentos. `$@` generalmente se prefiere por su manejo más seguro de los argumentos con espacios.
* `Shift`:El comando` Shift` elimina el primer parámetro posicional y cambia los restantes a la izquierda. Esto es útil para procesar argumentos secuencialmente.
En esencia, los parámetros posicionales son un mecanismo fundamental para transmitir datos a los scripts y funciones de unix shell, permitiendo flexibilidad y reutilización.