Programmation Bash/Interactions avec l'utilisateur
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