Programmation.shell : Probleme d'argument dans un shell
Posté par kermitt () le 08 décembre 2006
Bonjour à tous,
je rencontre un souci avec mon shell écrit en KSH.
C'est la première fois que je suis confronté à ce type de problème. En effet, je tente de récupérer plus de 9 arguments. Mon problème est que lorsque je fais ceci :
var1=$1
var2=$2
var3=$3
var4=$4
var5=$5
var6=$6
var7=$7
var8=$8
var9=$9
var10=$10
si je fais un printf de $10, il me retourne var10 (soit ${var1}0)
J'ai tenté de mettre ${10} d'après ce que j'ai vu dans les forums mais ça ne marche pas.
Je cherche du côté de la commande shift.
Mais je suis un peu bloqué.
Pouvez-vous m'aider s'il vous plaît ?
merci
je rencontre un souci avec mon shell écrit en KSH.
C'est la première fois que je suis confronté à ce type de problème. En effet, je tente de récupérer plus de 9 arguments. Mon problème est que lorsque je fais ceci :
var1=$1
var2=$2
var3=$3
var4=$4
var5=$5
var6=$6
var7=$7
var8=$8
var9=$9
var10=$10
si je fais un printf de $10, il me retourne var10 (soit ${var1}0)
J'ai tenté de mettre ${10} d'après ce que j'ai vu dans les forums mais ça ne marche pas.
Je cherche du côté de la commande shift.
Mais je suis un peu bloqué.
Pouvez-vous m'aider s'il vous plaît ?
merci
> Lire le message (8 commentaires, moyenne: 1).
Vous avez demandé le commentaire #782283.



commande shift
la commande shift permet de faire un "décalage" de tes arguments ($2 devient $1, $3 devient $2, etc ...);
une possibilité pour récuperer tes args en debut de script:
Arg1=$1;shift;
Arg2=$1;shift;
etc ....
[^]Re: commande shift
bonjour Toto,
merci pour votre réponse très rapide.
je suis donc sur la bonne voie ?
Je pourrais donc récupérer tous mes arguments ?
merci
[^]Re: commande shift
c'est plus joli avec des shift, mais si tu fais ${10} ça devrait marcher.
[^]Re: commande shift
A verifier dans la doc du shell: ca marche pas pour tous ...
[^]Re: commande shift
Merci pour votre réponse.
J'ai essayé avec ${10} mais cela ne fonctionne pas.