Programmation Bash/Interactions avec l'utilisateur

Un livre de Wikilivres.

Lire la saisie d'un utilisateur

Les commandes suivantes permettent de gérer l'interaction avec l'utilisateur :

  • la commande echo affiche des données soit sur la sortie standard, soit sur la sortie d'erreur,
  • la commande read lit les valeurs entrées au clavier et les stocke dans une variable.

read var permet de lire une valeur entrée au clavier par l'utilisateur et de stocker cette valeur dans la variable var.

Exemple :

$ read a
toto
$ echo $a
toto

Dans cet exemple, read lit une valeur que l'utilisateur saisit au clavier en l'occurrence : toto. Cette valeur est stockée dans la variable a. Le contenu de cette variable a est affiché grâce à echo et son contenu est effectivement toto.


Si aucun nom de variable n'est fourni lors de l'appel de read, la valeur entrée par l'utilisateur est stockée dans la variable REPLY.

Exemple

$ read
sidonie
$ echo $REPLY
sidonie

Interaction et case

Souvent, dans les scripts, on trouve la structure suivante :

read 
case $REPLY in
valeur1) instruction(s);;
valeur2) instruction(s);;
valeur3) instruction(s);;
...
esac

Instruction select

echo "Etes vous un homme ou une femme ?"
select i in homme femme; do
        if [ "$i" = "homme" ]; then
                echo "Bonjour monsieur"
                break
        elif [ "$i" = "femme" ]; then
                echo "Bonjour madame"
                break
        else
                echo "mauvaise reponse"
        fi
done