Comment obtenir le n
ème argument positionnel dans Bash, où n
est variable?
Utilisez la fonction d'indirection de Bash:
#!/bin/bash
n=3
echo ${!n}
Exécution de ce fichier:
$ ./ind Apple banana cantaloupe dates
Produit:
cantaloupe
Modifier:
Vous pouvez également effectuer un découpage de tableau:
echo ${@:$n:1}
mais pas les indices de tableau:
echo ${@[n]} # WON'T WORK
Si N
est enregistré dans une variable, utilisez
eval echo \${$N}
si c'est une utilisation constante
echo ${12}
puisque
echo $12
ne veut pas dire la même chose!
$1 $2 ... $n
$0
contient le nom du script.
Comme vous pouvez le voir dans le Bash by Example , il vous suffit d'utiliser les variables automatiques $ 1, $ 2, etc.
$ # est utilisé pour obtenir le nombre d'arguments.