Commande read Linux avec des exemples pratiques

LinuxLinuxBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce labo, vous apprendrez à utiliser la commande read sous Linux pour capturer les entrées utilisateur et les stocker dans une variable. Vous apprendrez également à valider les entrées utilisateur à l'aide de la commande read. Le labo couvre le but et la syntaxe de la commande read, comment lire les entrées utilisateur et les stocker dans une variable, ainsi que comment valider les entrées utilisateur.

La commande read est une commande intégrée à Linux et est couramment utilisée pour la programmation de scripts interactifs dans le shell. Elle vous permet de capturer les entrées utilisateur et de les stocker dans une variable, qui peut ensuite être utilisée dans vos scripts ou programmes.

Feuille de triche sur les commandes Linux


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicSystemCommandsGroup(["Basic System Commands"]) linux/BasicSystemCommandsGroup -.-> linux/echo("Text Display") linux/BasicSystemCommandsGroup -.-> linux/read("Input Reading") subgraph Lab Skills linux/echo -.-> lab-422880{{"Commande read Linux avec des exemples pratiques"}} linux/read -.-> lab-422880{{"Commande read Linux avec des exemples pratiques"}} end

Comprendre le but et la syntaxe de la commande read

Dans cette étape, vous apprendrez le but et la syntaxe de la commande read sous Linux. La commande read est utilisée pour capturer les entrées utilisateur et les stocker dans une variable.

La syntaxe de base de la commande read est la suivante :

read [options] [variable_name]

Ici, [options] sont les indicateurs facultatifs que vous pouvez utiliser avec la commande read, et [variable_name] est le nom de la variable dans laquelle les entrées utilisateur seront stockées.

Certaines options courantes de la commande read incluent :

  • -p : Affiche une invite avant d'attendre les entrées utilisateur.
  • -s : Masque l'affichage des entrées utilisateur.
  • -n : Lit seulement le nombre spécifié de caractères.
  • -t : Spécifie un délai d'attente en secondes pour l'opération de lecture.

Exemple :

read -p "Enter your name: " name
echo "Hello, $name!"

Exemple de sortie :

Enter your name: John
Hello, John!

Dans cet exemple, la commande read invite l'utilisateur à entrer son nom, et l'entrée est stockée dans la variable name. La commande echo utilise ensuite la valeur de la variable name pour afficher un message de salutation.

Lire les entrées utilisateur et les stocker dans une variable

Dans cette étape, vous apprendrez à utiliser la commande read pour capturer les entrées utilisateur et les stocker dans une variable.

Pour lire les entrées utilisateur et les stocker dans une variable, vous pouvez utiliser la syntaxe suivante :

read variable_name

Ici, variable_name est le nom de la variable dans laquelle les entrées utilisateur seront stockées.

Exemple :

echo "What is your favorite color?"
read favorite_color
echo "Your favorite color is $favorite_color."

Exemple de sortie :

What is your favorite color?
blue
Your favorite color is blue.

Dans cet exemple, l'utilisateur est invité à entrer sa couleur préférée, et l'entrée est stockée dans la variable favorite_color. La commande echo utilise ensuite la valeur de la variable favorite_color pour afficher un message.

Vous pouvez également utiliser l'option -p avec la commande read pour afficher une invite à l'utilisateur :

read -p "Enter your age: " age
echo "You are $age years old."

Exemple de sortie :

Enter your age: 30
You are 30 years old.

Dans cet exemple, l'option -p est utilisée pour afficher l'invite "Enter your age: " avant d'attendre les entrées utilisateur, et l'entrée est stockée dans la variable age.

Valider les entrées utilisateur avec la commande read

Dans cette étape, vous apprendrez à utiliser la commande read pour valider les entrées utilisateur.

Une façon courante de valider les entrées utilisateur consiste à utiliser une boucle while avec la commande read. Cela vous permet de continuer à inviter l'utilisateur à saisir des données jusqu'à ce qu'il fournisse une réponse valide.

Exemple :

while true; do
    read -p "Enter a number between 1 and 10: " num
    if [[ "$num" -ge 1 && "$num" -le 10 ]]; then
        echo "You entered: $num"
        break
    else
        echo "Invalid input. Please try again."
    fi
done

Exemple de sortie :

Enter a number between 1 and 10: 15
Invalid input. Please try again.
Enter a number between 1 and 10: 7
You entered: 7

Dans cet exemple, la commande read est utilisée à l'intérieur d'une boucle while pour inviter continuellement l'utilisateur à saisir des données jusqu'à ce qu'il entre un nombre compris entre 1 et 10. L'instruction if vérifie les entrées de l'utilisateur, et si elles sont valides, la boucle est interrompue à l'aide de la commande break. Si l'entrée est invalide, un message d'erreur est affiché et la boucle se poursuit.

Vous pouvez également utiliser la commande read avec l'option -n pour limiter le nombre de caractères que l'utilisateur peut saisir, ou l'option -t pour définir un délai d'attente pour l'entrée.

Exemple :

read -n 1 -p "Enter 'y' or 'n': " answer
echo "You entered: $answer"

Exemple de sortie :

Enter 'y' or 'n': y
You entered: y

Dans cet exemple, l'option -n 1 limite les entrées de l'utilisateur à un seul caractère, et l'option -p affiche une invite.

Résumé

Dans ce labo, vous avez appris le but et la syntaxe de la commande read sous Linux, qui est utilisée pour capturer les entrées utilisateur et les stocker dans une variable. Vous avez également appris à lire les entrées utilisateur et les stocker dans une variable, ainsi qu'à utiliser l'option -p pour afficher une invite à l'utilisateur. Enfin, vous avez appris à valider les entrées utilisateur à l'aide de la commande read.

La commande read dispose de plusieurs indicateurs facultatifs, tels que -p pour afficher une invite, -s pour masquer l'affichage des entrées utilisateur, -n pour lire seulement un nombre spécifié de caractères et -t pour spécifier un délai d'attente pour l'opération de lecture. Vous pouvez utiliser ces indicateurs pour personnaliser le comportement de la commande read selon vos besoins.

Feuille de triche sur les commandes Linux