Question

Comment obtenir l'argument de position nth dans Bash, où n est variable?

Était-ce utile?

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

expansion de paramètres

$ 0: le premier paramètre de position

1 ... $ 9: les éléments de la liste des arguments de 1 à 9

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top