« Programmation Bash/Interactions avec l'utilisateur » : différence entre les versions

Contenu supprimé Contenu ajouté
Balises : insanités Éditeur visuel
Ligne 1 :
{{Programmation Bash}}
== Entrées/sorties ==
Deux commandes permettent d'effectuer des entrées/sorties :
* la commande <code>echo</code> affiche des données soit dans la sortie standard, soit dans la sortie des erreurs ;
* la commande <code>read</code> permet de lire des valeurs entrées au clavier et de les stocker dans une variable.
 
== Lire la saisie d'un utilisateur ==
<code>read var</code> permet de lire une valeur entrée au clavier par l'utilisateur et de stocker cette valeur dans la variable <code>var</code>, par exemple :
Les commandes suivantes permettent de gérer l'interaction avec l'utilisateur :
* la commande <code>echo</code> affiche des données soit danssur la sortie standard, soit danssur la sortie des erreurs ;d'erreur,
* la commande <code>read</code> permetlit de lire desles valeurs entrées au clavier et de les stockerstocke dans une variable.
 
<code>read var</code> permet de lire une valeur entrée au clavier par l'utilisateur et de stocker cette valeur dans la variable <code>var</code>, par exemple :.
 
Exemple :
<pre>
$ read a
Ligne 11 ⟶ 15 :
toto
</pre>
Dans cet exemple, nous appelons <code>read</code> pour lirelit une valeur que nousl'utilisateur allonssaisit stockerau dansclavier laen variablel'occurence <code>a</code>: ;toto. l'utilisateurCette valeur rentreest stockée dans la chaînevariable <code>totoa</code>. ; nous affichons leLe contenu de lacette variable <code>a</code> avecest affiché grâce à <code>echo</code> et son contenu est effectivement <code>toto</code>.
 
Si aucun nom de variable n'est fourni lors de l'appel de <code>read</code>, la valeur entrée par l'utilisateur est stockée dans la variable <code>REPLY</code> :
 
Si aucun nom de variable n'est fourni lors de l'appel de <code>read</code>, la valeur entrée par l'utilisateur est stockée dans la variable <code>REPLY</code> :.
 
Exemple
<pre>
$ read
sidonie
tata
$ echo $REPLY
sidonie
tata
</pre>
 
== Interaction et [[Programmation Bash/Structures conditionnelles#case|case]] ==
 
Souvent, dans les scripts, on trouve la [[Programmation Bash/Structures conditionnelles#case|structure suivante]] :
 
<source lang="bash">
read
case $REPLY in
valeur1) instruction(s);;
valeur2) instruction(s);;
valeur3) instruction(s);;
...
esac
</source>
 
== Instruction <code>select</code> ==
<source lang="bash">
<pre>
echo "Etes vous un hommegay ou une femmepédale ?"
select i in homme femme; do
if [ x$i = xhomme ]; then
echo "Bonjour monsieurconnard"
break
elif [ x$i = xfemme ]; then
echo "Bonjour madamesalope (ou mademoiselle)"
break
else
Ligne 34 ⟶ 56 :
fi
done
</presource>
 
[[Catégorie:Programmation bash-kshBash (livre)]]