Índice

Gestión de menús con select

ksh  

bash  

Sintaxis

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

El comando interno select es una estructura de control de tipo bucle que permite escribir de manera cíclica un menú. La lista de items, item1 item2 ... itemn, se mostrará por pantalla a cada iteración del bucle. Los ítems son indexados automáticamente. La variable var se inicializará con el ítem correspondiente a elección del usuario.

Este comando usa también dos variables reservadas:

  • La variable PS3 representa el prompt utilizado para que el usuario teclee su elección. Su valor por defecto es #?. Se puede modificar a gusto del programador.

  • La variable REPLY contiene el índice del ítem seleccionado.

La variable var contiene la etiqueta de la elección, y REPLY, el índice de esta.

Ejemplo

$ nl menuselect.sh 
    1  #! /usr/bin/ksh 
  
    2  function guardar { 
    3    echo "Se ha escogido la copia de seguridad" 
    4    # Ejecución de la copia de seguridad 
    6  } 
  
    7  function restaurar { 
    8    echo "Se ha escogido la restauración" 
    9    # Ejecución de la restauración 
   11  } 
  
  
   12  PS3="Su elección: " 
   ...