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 :

Boucle sur les parametres


Sujet :

Linux

  1. #1
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2008
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2008
    Messages : 47
    Points : 44
    Points
    44
    Par défaut Boucle sur les parametres
    Bonjours, soit un script appelé par (n) paramètres mon problème c'est, est ce qu'on peut faire un boucle sur ces paramètres ou pas
    ma idée c'est d'utiliser la boucle "while"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    i = 'expr $#+1'
    while ($i -lt 0)
    do 
    i = 'expr $i-1'
    case $`$i` ==>{je suis pas sur de cette expression ^^}
    1)...
    2)...
    *)...
    esac
    done

  2. #2
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 587
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 587
    Points : 19 467
    Points
    19 467
    Par défaut
    $# ne sera jamais inférieur à zéro
    -lt signifie 'lesser than'

    Donc, un simple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    if [ $# -gt 0]; then
    case $# in
    1)...
    ;;
    2)...
    ;;
    ...
    esac
    fi
    devrait le faire
    ...
    ?

  3. #3
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 721
    Points : 31 044
    Points
    31 044
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par direct Voir le message
    Bonjours, soit un script appelé par (n) paramètres mon problème c'est, est ce qu'on peut faire un boucle sur ces paramètres ou pas
    Ben évidemment
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for param in $*
    do
        echo $param
    done
    Citation Envoyé par direct Voir le message
    ma idée c'est d'utiliser la boucle "while"
    Si tu veux
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    while test $# -gt 0
    do
        echo $1
        shift
    done
    L'inconvénient de cette méthode par rapport à l'autre c'est que là, on perd les paramètres une fois traités

    Citation Envoyé par direct Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    i = 'expr $#+1'
    while ($i -lt 0)
    do 
    i = 'expr $i-1'
    case $`$i` ==>{je suis pas sur de cette expression ^^}
    1)...
    2)...
    *)...
    esac
    done
    Là je ne pige plus tien. Bon déjà après while il faut une commande Unix. Et ($i -lt 0) n'est certainement pas une commande.
    De plus, il faut des espaces à expr sinon cette pauvre commande ne pigera jamais ce que tu veux faire. En revanche, pas d'espace dans une affectation
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    i=`expr $# + 1`
    i=`expr $i - 1`
    (bien que je reste toujours sec sur ce que tu veux faire)

    Et enfin, tu veux évaluer $`$i` ? Pourquoi les backquottes autour de $i ? Est-ce une commande ?

    En tout état de cause, je pense que $i contenant un nombre (1, 2, 3, ...) tu veux évaluer le paramètre $1, $2, $3, ... correspondant
    Mais ceci est totalement inutile si tu utilises mes instructions en début de post

  4. #4
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2008
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2008
    Messages : 47
    Points : 44
    Points
    44
    Par défaut
    Merci bien c'est une belle truc de travailler avec for comme tu as fait et mon problème est résolu grâce a vous merci infiniment.

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

Discussions similaires

  1. [C#] Boucle sur les controles
    Par stailer dans le forum Windows Forms
    Réponses: 3
    Dernier message: 10/05/2006, 08h48
  2. Question sur les parametre de connection ODBC
    Par kluh dans le forum Access
    Réponses: 1
    Dernier message: 25/11/2005, 14h51
  3. Macro sur Excel/Boucle sur les lettres
    Par life is magic dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 25/11/2005, 11h56
  4. [JVM] interactions jvm - code : agir sur les paramètres ?
    Par pierre.zelb dans le forum Général Java
    Réponses: 6
    Dernier message: 07/07/2005, 13h02
  5. [LG]J'ai honte : question de cours sur les paramètres
    Par letibdesneiges dans le forum Langage
    Réponses: 14
    Dernier message: 17/01/2004, 13h57

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