[shell] liste de paramètres dans un case

Résolu
tomk41 Messages postés 12 Statut Membre -  
tomk41 Messages postés 12 Statut Membre -
Bonjour,

J'essaye de faire un case en shell avec une liste de paramètres dans un fichier de configuration.

Je m'explique :
# cat liste_param.txt
param1|param2|param3|param4

	case $PARAM in
	    `cat liste_param.txt`)
			echo " très bon choix !!"
			;;
		*)     
                        echo "****Erreur: Param non conforme"
			exit 2;;
	esac


En somme, le choix de l'argument ne fonctionne pas, ça me renvoi "Param non conforme" à tout les coups :(

D'avance merci à celui qui connait la solution .
Configuration: Windows XP
Firefox 3.0.1

5 réponses

  1. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    C'est un peu tiré par les cheveux, mais bon ça le fait, à la limite un test sur le code retour de la commande serait bien mieux :
    #! /bin/bash
    
    echo "Entrez un paramètre :"
    read PARAM
    case $PARAM in
    $(egrep -o "\b${PARAM}\b" liste_param.txt) )
            echo " très bon choix !!"
            ;;
    *)
            echo "****Erreur: Param non conforme"
            exit 2
            ;;
    esac
    0
  2. tomk41 Messages postés 12 Statut Membre
     
    Dois je en déduire qu'il est impossible d'avoir une liste de choix dynamique ?
    -1
  3. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    Salut,

    D'où tires-tu la valeur de "$PARAM" ? D'une instruction "read" ?
    -1
  4. tomk41 Messages postés 12 Statut Membre
     
    je la tire de $1
    -1
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. tomk41 Messages postés 12 Statut Membre
     
    Ok parfait merci !
    -1