Citation
zig
Salut, je debute en script.
J'aimerais afficher les arguments de mon script.
Quand j'afficher $i dans une boucle, il n'affiche
pas $1, $2, etc. mais la valeur de i.
Comment resoudre ce probleme?
Afficher "$i" affiche "contenu de la variable i". Toi, tu voudrais faire un truc comme "$$i qui pourrait ressembler à "afficher le contenu de "$i". Malheureusement, le "$" ne marche que sur un seul niveau.
Le truc pour ça est d'utiliser "eval" qui commence par évaluer l'instruction qui la suit puis qui l'exécute comme instruction shell.
Ex:
i=5
eval echo "\$$i"
Le shell va commencer par créer l'instruction "echo $5" puis l'exécutera comme ordre shell.
Maintenant, utiliser un compteur pour afficher les paramètres est un peu dommage car le shell contient des outils internets pour traiter les paramètres
Ex: Utilisation du shift
while test $# -gt 0
do
....echo $1
....shift
done
Ex: Utilisation du for
for param in $*
do
....echo $param
done
L'homme qui murmurait à l'oreille des pingouins
[
fr.lang.free.fr]
Poste le Wednesday 18 October 2006 22:26:04