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 :

instruction while et tableau de valeurs


Sujet :

Shell et commandes GNU

  1. #1
    Membre éclairé
    Inscrit en
    Avril 2007
    Messages
    483
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Avril 2007
    Messages : 483
    Par défaut instruction while et tableau de valeurs
    Bonjour,

    Je débute dans le scripting shell et j'ai besoin d'un petit coup de main, ne trouvant pas d'exemple de ce que je souhaite faire.

    Je crée un tableau de données comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tableau = (val1 val2 ... valN)
    Ca c'est ok.

    Maintenant, je pose une question à l'utilisateur et récupère sa réponse à l'aide de l'instruction read.

    Je voudrais faire un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    tant que $reponse n'est pas dans la liste des valeurs de $tableau
     - je pose la question
     - je liste les réponses possibles contenues dans $tableau
     - je récupère la réponse avec read
    J'ai essayé un truc de ce genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    until [ saisie in ${tableau[@]} ];
    do
        instructions
    done
    mais il me renvoie l'erreur suivante :
    [: too many arguments
    Pouvez vous m'aider svp ?

    Merci d'avance

  2. #2
    Membre éclairé
    Inscrit en
    Avril 2007
    Messages
    483
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Avril 2007
    Messages : 483
    Par défaut
    J'ai procédé comme ceci :
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    available_versions="AS4.6 AS4.6_64b"
    os_version="_"
    validator="failed"
     
    while [ ${os_version} = "_" ]; do
    	echo 	"Question 1 : "
    	echo 	"Quel version de RedHat souhaitez vous installer parmis : "
     
    	for version in ${available_versions}; do
    		echo 	" - $version"
    	done
     
    	echo	"(respectez bien les majuscules)"
     
    	read os_version
     
     
    	for choice in ${available_versions}; do
    		if [ ${os_version} = $choice ]; then
    			validator="success"
    			break
    		else
    			validator="failed"
    		fi
    	done
     
    	if [ ${validator} = "failed" ]; then
    		os_version="_"
    		echo "La version demandée n'est pas disponible. Toutes les versions disponibles sont affichées dans la liste"
    	fi
     
    done

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

Discussions similaires

  1. dessiner une courbe à partir d'un tableau de valeur
    Par bob75018 dans le forum C++Builder
    Réponses: 8
    Dernier message: 15/06/2007, 04h29
  2. [Ant]Lire un XML - renvoyer un tableau de valeurs
    Par gael.poffet dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 06/03/2006, 15h32
  3. [Tableaux] récupérer un tableau de valeur
    Par PAYASS59 dans le forum Langage
    Réponses: 7
    Dernier message: 16/02/2006, 12h22
  4. retourné un tableau de valeur d'une fonction
    Par hoaxpunk dans le forum Oracle
    Réponses: 2
    Dernier message: 24/01/2006, 17h36
  5. tableau comme valeur dans un hash de hash
    Par king_kunu dans le forum Langage
    Réponses: 2
    Dernier message: 02/01/2006, 16h05

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