Sommaire

Gestion de menus avec select

ksh

bash

Syntaxe

select var in item1 item2 ... itemn 
do 
  commandes 
done

La commande interne select est une structure de contrôle de type boucle qui permet d’afficher de manière cyclique un menu. La liste des items, item1 item2 ... itemn, sera affichée à l’écran à chaque tour de boucle. Les items sont indicés automatiquement. La variable var sera initialisée avec l’item correspondant au choix de l’utilisateur.

Cette commande utilise également deux variables réservées :

  • La variable PS3 représente le prompt utilisé pour la saisie du choix de l’utilisateur. Sa valeur par défaut est #?. Elle peut être modifiée à la convenance du développeur.

  • La variable REPLY qui contient l’indice de l’item sélectionné.

La variable var contient le libellé du choix et REPLY l’indice de ce dernier.

Exemple

$ nl menuselect.sh 
     1  #! /usr/bin/ksh 
 
     3  function sauve { 
     4    echo "Vous avez choisi la sauvegarde" 
     5    # Lancement de la sauvegarde 
     6  } 
 
     8  function restaure { 
     9    echo "Vous avez choisi la restauration" 
    10    # Lancement de la restauration 
    11  } 
 
              
    14  PS3="Votre choix : " 
 
    16  select item in "- Sauvegarde " "- Restauration " "- Fin" 
    17  do 
    18    echo "Vous avez choisi l’item $REPLY: ...