Commande select
Résolu
jivef
Messages postés
1024
Statut
Membre
-
jivef Messages postés 1024 Statut Membre -
jivef Messages postés 1024 Statut Membre -
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.
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.
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.
2 réponses
-
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
-
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é).