¿Cómo conseguir el argumento posicional número n de la fiesta?
-
19-09-2019 - |
Pregunta
¿Cómo conseguir el argumento posicional n
th en Bash, donde n
es variable?
Solución
función indirecta
El uso de Bash:
#!/bin/bash
n=3
echo ${!n}
Ejecutar el archivo:
$ ./ind apple banana cantaloupe dates
Produce:
cantaloupe
Editar
También se puede hacer el corte en lonchas gama:
echo ${@:$n:1}
pero no subíndices de matriz:
echo ${@[n]} # WON'T WORK
Otros consejos
Si N
se guarda en una variable, utilice
eval echo \${$N}
Si se trata de un uso constante
echo ${12}
desde
echo $12
no significa lo mismo!
$1 $2 ... $n
$0
contiene el nombre del script.
Como se puede ver en la Bash con ejemplos , sólo tiene que utilizar las variables automáticas $ 1, $ 2, y así sucesivamente.
$ # se utiliza para obtener el número de argumentos.
Leer
Manejo de parámetros posicionales
y
$ 0: el primer parámetro de posición
$ 1 ... $ 9: los elementos de la lista argumento de 1 a 9
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow