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

Shell et commandes GNU Discussion :

parcours de Listes en KSH


Sujet :

Shell et commandes GNU

  1. #1
    Nouveau membre du Club
    Inscrit en
    Août 2008
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 39
    Points : 25
    Points
    25
    Par défaut parcours de Listes en KSH
    Bonsoir les Amis,
    mon probleme est le suivant :
    j'ai la liste des produit suivante
    Liste_Produits="Prod1 Prod2 Prod3 Prod4"
    le but c'est de donner la main à l'utilisateur de saisir le nom d'un produit, puis vérifier si ce produit là existe dans la liste ( Liste_Produits ) sinon on boucle jusqu'à ce que le nom du produit correspont à l'un des produits dans la liste

    le code suivant ne fonctionne pas !!

    est ce que quelq'un peux me donner un coup de pousse svp ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    funct_verif_prod () {
    echo -e "Choise Product : "
    read Product
     
    if      $Product in $Liste_Produits
    then
            exit 0
    else
            echo "$Product is not a correct Product name!! "
            until $Product in $Liste_Produits
             do
                    echo -e "Please Enter correct Product name"
                    read Product 
            done
    fi
    }

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 080
    Points : 30 803
    Points
    30 803
    Par défaut
    Citation Envoyé par simodsio Voir le message
    le code suivant ne fonctionne pas !!
    C'est un peu court pour t'aider.

    Y a-t-il des messages d'erreur ?
    As-tu essayer de tracer l'exécution de ta fonction ? (set -vx)
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  3. #3
    Nouveau membre du Club
    Inscrit en
    Août 2008
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 39
    Points : 25
    Points
    25
    Par défaut
    Non je n'ai pas de message d'erreur
    mais meme si je tappe un produit qui existe dans la liste, il passe directement à la partie else !!

  4. #4
    Membre éclairé Avatar de jmelyn
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2007
    Messages
    703
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Septembre 2007
    Messages : 703
    Points : 823
    Points
    823
    Par défaut
    Bonjour,

    Je ne connais pas ksh, mais il est très proche de bash. J'ai lu un peu la man page. Selon moi, la structure if ... in ... n'existe pas. En plus, sans crochet, le shell a tendance à chercher des fichiers. Enfin, en faisant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    a="toto titi tutu"; b="titi"; if $b in $a; then echo "YESSS"; else echo "NOOO";fi
    ksh: titi: not found [No such file or directory]
    Moi je ferais plutôt quelque chose comme ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    a="toto titi tutu"; b="titi"; if [ "${a/$b/}" != "$a" ]; then echo "YESSS"; else echo "NOOO";fi
    YESSS
    Là, ça marche tip-top.
    Un problème bien posé est déjà résolu (H. Bergson).

  5. #5
    Nouveau membre du Club
    Inscrit en
    Août 2008
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 39
    Points : 25
    Points
    25
    Par défaut
    Merci,
    ta méthode m'a sauvé la vie

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

Discussions similaires

  1. Parcours de liste avec suppression d'éléments
    Par biaggi dans le forum Langage
    Réponses: 2
    Dernier message: 11/09/2008, 10h00
  2. Parcours de listes de structures
    Par Guulh dans le forum C#
    Réponses: 6
    Dernier message: 25/04/2008, 13h29
  3. Bouclage d'un parcours de liste
    Par kubowsky dans le forum Windows Presentation Foundation
    Réponses: 3
    Dernier message: 22/04/2008, 10h24
  4. Parcours de liste
    Par Invité dans le forum Ada
    Réponses: 2
    Dernier message: 12/04/2008, 12h35
  5. [débutant] Parcours de liste, déboggage
    Par titpuce dans le forum Langage
    Réponses: 13
    Dernier message: 26/02/2007, 09h42

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