Faire un don ! | | style | statistiques | contactez-nous | plan | lettre d'information

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

> Lire le message (8 commentaires, moyenne: 1).  

Vous avez demandé le commentaire #782283.

commande shift

Posté par totof2000 () le 08/12/2006 à 09:31. (lien). Évalué à 1.

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

    Posté par kermitt () le 08/12/2006 à 09:39. (lien). Évalué à 1.

    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

      Posté par RedIsDead () le 08/12/2006 à 09:58. (lien). Évalué à 1.

      c'est plus joli avec des shift, mais si tu fais ${10} ça devrait marcher.

      • [^]Re: commande shift

        Posté par totof2000 () le 08/12/2006 à 11:16. (lien). Évalué à 1.

        A verifier dans la doc du shell: ca marche pas pour tous ...

        [^]Re: commande shift

        Posté par kermitt () le 08/12/2006 à 12:01. (lien). Évalué à 1.

        Merci pour votre réponse.
        J'ai essayé avec ${10} mais cela ne fonctionne pas.