Menu
Coddy logo textTech

L'entrée utilisateur dans les scripts

Fait partie de la section Les fondamentaux du Journey Terminal de Coddy — leçon 69 sur 82.

Les variables sont utiles, mais parfois vous voulez que votre script demande des informations à l'utilisateur pendant son exécution. La commande read met le script en pause et attend que l'utilisateur saisisse quelque chose, puis stocke cette saisie dans une variable.

Voici comment cela fonctionne :

#!/bin/bash
echo "What is your name?"
read name
echo "Hello, $name!"

Lorsque ce script s'exécute, il affiche la question, attend que l'utilisateur tape son nom et appuie sur Entrée, puis le salue. La commande read prend ce que l'utilisateur tape et le stocke dans la variable name.

Vous pouvez rendre l'invite plus propre en utilisant l'option -p, qui combine le message d'invite et la saisie sur la même ligne :

#!/bin/bash
read -p "Enter your name: " name
echo "Hello, $name!"

Cela affiche Enter your name: et attend une saisie sur la même ligne, ce qui paraît plus soigné. L’option -p prend le texte de l’invite comme son argument, suivi du nom de la variable pour stocker la saisie.

L'entrée utilisateur rend les scripts interactifs et adaptables. Au lieu de coder en dur les valeurs, vous pouvez écrire un seul script qui fonctionne différemment en fonction de ce que l'utilisateur fournit à chaque exécution.

challenge icon

Défi

Facile

Créez un script shell appelé greeter.sh qui demande à l'utilisateur sa couleur préférée et affiche ensuite un message en utilisant son entrée.

Votre script doit :

  1. Commencer par la ligne shebang (#!/bin/bash)
  2. Utiliser read avec l'option -p pour inviter : What is your favorite color?
  3. Stocker l'entrée dans une variable appelée color
  4. Utiliser echo pour afficher : Nice! [color] is a great color! (où [color] est l'entrée de l'utilisateur)

Rendez le script exécutable et exécutez-le. Lorsque demandé, entrez blue comme réponse.

Votre sortie devrait être :

What is your favorite color? blue
Nice! blue is a great color!

Indice : Construisez le script ligne par ligne en utilisant echo avec redirection. Utilisez read -p "What is your favorite color? " color pour inviter et capturer l'entrée, puis echo "Nice! $color is a great color!" pour afficher le résultat.

Aide-mémoire

La commande read met en pause le script et attend l'entrée utilisateur, puis la stocke dans une variable :

#!/bin/bash
echo "What is your name?"
read name
echo "Hello, $name!"

Utilisez l'option -p pour afficher l'invite et la saisie sur la même ligne :

#!/bin/bash
read -p "Enter your name: " name
echo "Hello, $name!"

L'option -p prend le texte de l'invite comme argument, suivi du nom de la variable pour stocker la saisie.

Essayez vous-même

Terminal
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Les fondamentaux