Forum Programmation.shell Probleme d'argument dans un shell

Posté par  .
Étiquettes : aucune
0
8
déc.
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
  • # commande shift

    Posté par  . É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  . É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  . Évalué à 1.

        c'est plus joli avec des shift, mais si tu fais ${10} ça devrait marcher.
        • [^] # Re: commande shift

          Posté par  . Évalué à 1.

          A verifier dans la doc du shell: ca marche pas pour tous ...
        • [^] # Re: commande shift

          Posté par  . Évalué à 1.

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

    Posté par  . Évalué à 1.

    Je ne sais pas si ça fonctionne avec ksh, mais $@ permet de récupérer tous les arguments dans la même variable. Ensuite avec un while read il doit y avoir moyen de faire quelque chose :)
    • [^] # Re: $@

      Posté par  . Évalué à 1.

      bonjour,

      merci pour votre aide.
      Effectivement je suis en train de voir ce côté là pour récupérer toutes mes variables.
      Si vous avez encore des solutions, je suis preneur.
  • # Probleme arguments dans le shell

    Posté par  . Évalué à 1.

    Bonne après-midi à tous,

    j'ai mis à jour ma version KSH sur Fedora Core 5
    yum update ksh
    et maintenant je peux lire toutes mes variables.
    C'était simplement cela !

    merci en tous les cas pour toutes vos pistes.
    A bientôt

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.