Comment obtenir le nième argument de position dans bash?
-
19-09-2019 - |
Question
Comment obtenir l'argument de position n
th dans Bash, où n
est variable?
La solution
Utilisez la fonction de indirection Bash:
#!/bin/bash
n=3
echo ${!n}
L'exécution de ce fichier:
$ ./ind apple banana cantaloupe dates
Produit:
cantaloupe
Modifier
Vous pouvez également faire trancher tableau:
echo ${@:$n:1}
mais pas tableau d'indices:
echo ${@[n]} # WON'T WORK
Autres conseils
Si N
est enregistré dans une variable, utilisez
eval echo \${$N}
si elle est une utilisation constante
echo ${12}
depuis
echo $12
ne signifie pas la même chose!
$1 $2 ... $n
$0
contient le nom du script.
Comme vous pouvez le voir dans le Bash par exemple , il vous suffit d'utiliser les variables automatiques 1 $, 2 $, et ainsi de suite.
$ # est utilisé pour obtenir le nombre d'arguments.
Lire
manipulation des paramètres de position
et
$ 0: le premier paramètre de position
1 ... $ 9: les éléments de la liste des arguments de 1 à 9