IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Linux Discussion :

Problème de variables


Sujet :

Linux

  1. #1
    Membre confirmé Avatar de herzleid
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Juin 2002
    Messages
    393
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Directeur des systèmes d'information

    Informations forums :
    Inscription : Juin 2002
    Messages : 393
    Points : 509
    Points
    509
    Par défaut Problème de variables
    Bonjour,
    j'ai un script qui peut prendre n paramètres, et je voudrai pour chacun des paramètres effectuer une action. J'ai donc pensé à ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    for i in $# 
            do 
            echo "$"$i
            #predecesseur $i;
            done
    Malheureusement echo ne me renvoit pas la valeur de $1 mais le texte '$1'

    Le but n'est pas d'afficher la valeur de $1 ou de $2 mais de le renvoyer à ma fonction predecesseur.

    Merci de votre aide.

    Ps : je suis sous HP-UX et non linux..

  2. #2
    Membre expert
    Avatar de 2Eurocents
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 177
    Points : 3 166
    Points
    3 166
    Par défaut
    Deux choses ...

    Pour une boucle de numéros, je ferais comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for i in $(seq 1 $#)
    do
        echo "$"$i
    done
    Par contre, pour une boucle de traitement de paramètres, je ferais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for i in $@
    do
        echo "valeur" $i
    done
    C'est du bash (je suis sous Linux et n'ai pas d'HP-UX sous la main), mais cela devrait être assez standard ...

  3. #3
    Membre confirmé Avatar de herzleid
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Juin 2002
    Messages
    393
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Directeur des systèmes d'information

    Informations forums :
    Inscription : Juin 2002
    Messages : 393
    Points : 509
    Points
    509
    Par défaut
    Alors ici le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for i in $(seq 1 $#) 
    do 
        echo "$"$i 
    done
    ne marche pas. Il renvoit
    Par contre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for i in $@ 
    do 
        echo "valeur" $i 
    done
    marche nikel. J'avai oublié la variable $@

    Merci de ton aide.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. PROBLE DE VARIABLE DE LIEN?
    Par Bayoro dans le forum Forms
    Réponses: 0
    Dernier message: 14/03/2008, 20h47
  2. proble declaration variable publique
    Par tlolo dans le forum Delphi
    Réponses: 8
    Dernier message: 05/07/2006, 20h13
  3. Procédure avec un nombre variable d'arguments
    Par charly dans le forum Langage
    Réponses: 15
    Dernier message: 21/06/2002, 12h08
  4. Réponses: 4
    Dernier message: 05/06/2002, 15h35
  5. les variables globales static
    Par gRRosminet dans le forum C
    Réponses: 8
    Dernier message: 27/04/2002, 09h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo