Léa-Linux & amis :   LinuxFR   GCU-Squad   GNU
afficher les arguments de la ligne de commande
Envoyé par: 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?

Poste le Tuesday 17 October 2006 18:22:04
Répondre     Citer    
Re: afficher les arguments de la ligne de commande

Peut-être utiliser shift, ou bien $argv, ou bien $*

Les détails dépendent un peu du shell utilisé (bash, zsh, tcsh, ...)

----

Basile STARYNKEVITCH

Membre de l'APRIL « promouvoir et défendre le logiciel libre » - adhérez vous aussi à l'APRIL!

Projet logiciel libre: RefPerSys

Poste le Tuesday 17 October 2006 19:06:27
Répondre     Citer    
Re: afficher les arguments de la ligne de commande

En bash :


$* ou $@

--
Brugmans Frédéric

[www.brugmans.net]
[triathlon.sport-challenge.be]

Poste le Tuesday 17 October 2006 19:32:48
Répondre     Citer    
Re: afficher les arguments de la ligne de commande
Envoyé par: Sve@r

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
Répondre     Citer    

Veuillez vous authentifier auparavant pour commenter.

 

Ce forum !
afficher les arguments de la ligne de commande
Pour poser vos questions sur les scripts shell, le Perl, le C, etc... Attention : nous ne sommes pas des spécialistes du dev, ce forum est juste pour de petites aides ponctuelles concernant le développement et les outils de développement.

Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons