Commande select

Résolu
jivef Messages postés 927 Date d'inscription   Statut Membre Dernière intervention   -  
jivef Messages postés 927 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'essaie de mettre en place un script utilisant la commande select, mais avant, je voudrais comprendre la syntaxe de cette commande..

Malheureusement, je ne trouve pas le manuel de select.
mobitux:/usr/scripts# man select
No manual entry for select

et passer la commande avec -h ou --help exécute select et attendent une suite avec do.
mobitux:/usr/scripts# select --help
>
mobitux:/usr/scripts# select -h
>

Voici ce que j'ai testé :
Je suis parti d'un exemple d'un bouquin et j'ai ajouté la commande read car dans le bouquin elle n'y était pas et je ne vois pas comment ça peut marcher sans.
De toute façon, avec ou sans, le résultat est le même.
#!/bin/sh  
select choix in "entree" "plat" "dessert" "quitter";  
do   
    read choix ;     (ajout par rapport au bouquin)
    case $choix in   
        entree) echo "votre choix est entree" ;;   
        plat) echo "votre choix est plat" ;;   
        dessert) echo "votre choix est dessert" ;;   
        quitter) echo "salut";exit 0 ;;   
    esac  
done  



Est-ce quelqu'un peut me donner un tuyau sur la syntaxe de cette commande.
Merci par avance.
Jonas.





Une idée reçue est souvent une idée morte.
A voir également:

2 réponses

jivef Messages postés 927 Date d'inscription   Statut Membre Dernière intervention   306
 
C'est bon, j'ai trouvé tout seul...
J'ai cherché pendant une demi-heure et finalement il y a bien une grosse boulette dans le bouquin.


L'utilisation de read est inutile, par contre, dans la commande case, il faut remplacer le nom de la variable $choix par la variable $REPLY

#!/bin/sh
select choix in "entree" "plat" "dessert" "quitter";
do
case $REPLY in
entree) echo "votre choix est entree" ;;
plat) echo "votre choix est plat" ;;
dessert) echo "votre choix est dessert" ;;
quitter) echo "salut";exit 0 ;;
esac
done
0
Utilisateur anonyme
 
salut

case peut/devrait faire référence à $choix.
$REPLY fait référence au chiffre selectionné

utilise break au lieu de exit.

l'aide de la commande interne select est accessible, par la commande help de bash, dans le man de bash, et dans l'info bash (si info est correctement installé).
0
jivef Messages postés 927 Date d'inscription   Statut Membre Dernière intervention   306
 
Merci pour l'info.
Jonas.
0