Script Bash : comment demander une entrée utilisateur
Ce tutoriel se penche sur l’utilisation polyvalente de la commande read dans Bash, un outil puissant pour obtenir des entrées utilisateur dans les scripts. La compréhension de cette commande est essentielle pour créer des scripts interactifs et réactifs à l’utilisateur.
Dans ce tutoriel, vous allez apprendre :
- Utilisation de base de
read - Lecture de plusieurs valeurs
- Saisie silencieuse pour les informations sensibles
- Définition d’une limite de temps pour la saisie
- Utilisation d’une invite en
lecture - Lecture d’une ligne d’entrée entière
Présentation de la commande read
Dans ce tutoriel, nous allons explorer la polyvalence de la commande read dans les scripts Bash. La commande read joue un rôle essentiel dans la capture des entrées de l’utilisateur, ce qui permet aux scripts de devenir interactifs. Qu’il s’agisse de simples invites ou de scénarios plus complexes, tels que la saisie silencieuse de mots de passe ou la lecture de plusieurs valeurs à la fois, la compréhension de la lecture renforce votre capacité à écrire des scripts efficaces et conviviaux.
Avant de plonger dans les exemples, il est important de comprendre que les entrées de l’utilisateur peuvent varier considérablement, qu’elles soient aussi simples qu’un seul mot, un chiffre, ou plus complexes comme une phrase, un mot de passe ou même plusieurs données. Chaque scénario exige une approche différente dans la façon dont nous capturons et traitons ces entrées. De plus, la prise en compte de l’expérience utilisateur est essentielle. Par exemple, lorsque vous demandez des données sensibles comme des mots de passe, s’assurer que l’entrée n’est pas affichée à l’écran est une pratique de sécurité fondamentale.
Utilisation de base de
read: cet exemple illustre l’utilisation fondamentale dereadpour capturer les entrées de l’utilisateur. Le script invite l’utilisateur à entrer son nom, attend l’entrée, puis salue l’utilisateur par son nom.#!/bin/bash echo "Enter your name:" read name echo "Hello, $name!"Lecture de plusieurs valeurs : Ici,
readest utilisé pour capturer plusieurs entrées en une seule fois. L’utilisateur est invité à saisir trois valeurs, qui sont ensuite stockées dans trois variables distinctes et réaffichées.#!/bin/bash echo "Enter three values:" read a b c echo "You entered: $a, $b, $c"Saisie silencieuse (pour les mots de passe) : Pour les informations sensibles telles que les mots de passe,
read -sgarde l’entrée cachée. Cela garantit que le mot de passe n’est pas visible à l’écran ou par les passants.#!/bin/bash echo "Enter your password:" read -s password echo "Password is set"Lecture d’une entrée avec une limite de temps : Cet exemple utilise
read -tpour définir une limite de temps pour la saisie utilisateur. Ici, l’utilisateur dispose de 5 secondes pour répondre, après quoi le script se poursuivra sans qu’il ne le saisisse.#!/bin/bash echo "Enter your name (you have 5 seconds):" read -t 5 name echo "Hello, $name!"Lire avec une invite : L’utilisation
de read -ppermet d’intégrer une invite dans la commande read, ce qui rend le script plus concis et l’invite plus perceptible pour l’utilisateur.#!/bin/bash read -p "Enter your age: " age echo "You are $age years old."Lecture d’une ligne entière : L’option
read -rest idéale pour lire une ligne entière de texte sans interpréter les barres obliques inverses comme des caractères d’échappement. Ceci est utile pour les entrées qui incluent des chemins d’accès de fichiers ou d’autres données avec des barres obliques inverses.#!/bin/bash echo "Enter a full sentence:" read -r sentence echo "You said: $sentence"
Conclusion
Ce tutoriel a fourni une vue d’ensemble complète de la commande read dans les scripts Bash. Grâce à ces techniques, vous pouvez créer des scripts qui interagissent efficacement avec les utilisateurs, améliorant ainsi la fonctionnalité et la convivialité de vos scripts Bash.
FAQ sur les scripts Bash et les entrées utilisateur
Foire aux questions
- À quoi sert le script Bash ?Les scripts Bash sont utilisés pour automatiser des tâches, gérer les opérations système et développer des applications dans des environnements de type Unix.
- Pourquoi la saisie de l’utilisateur est-elle importante dans les scripts Bash ?La saisie utilisateur permet aux scripts d’être interactifs et adaptables aux besoins de l’utilisateur, ce qui les rend plus flexibles et fonctionnels.
- Quelle est la syntaxe de base pour lire les entrées utilisateur dans Bash ?La syntaxe de base est
variable_namelecture, où l’entrée est stockée dansvariable_name. - Comment puis-je lire plusieurs entrées sur une seule ligne ?Utilisez
read var1 var2pour lire plusieurs entrées dans des variables distinctes. - Existe-t-il un moyen de masquer les entrées de l’utilisateur, comme les mots de passe ?Oui, utilisez
read -s variable_namepour rendre la saisie silencieuse, ce qui est idéal pour les mots de passe. - Puis-je définir une limite de temps pour la saisie par l’utilisateur ?Oui,
la lecture de -t secondes variable_namedéfinit une limite de temps spécifique pour la saisie. - Comment puis-je ajouter un message d’invite dans la commande read ?Utilisez
read -p « Message d’invite » variable_namepour afficher une invite en ligne. - Que fait l’option '-r' dans la commande read ?L’option '-r' empêche les barres obliques inverses d’être interprétées comme des caractères d’échappement, utile pour lire une ligne complète telle quelle.
- La commande read peut-elle gérer les caractères spéciaux en entrée ?Oui, lorsqu’il est utilisé avec l’option '-r', il peut gérer des caractères spéciaux comme les barres obliques inverses dans l’entrée.
- Est-il possible d’utiliser la commande read en boucle ?Oui, la lecture peut être utilisée dans les boucles pour traiter ou capturer les entrées plusieurs fois.
- Comment puis-je valider l’entrée de l’utilisateur dans Bash ?La validation des entrées peut être effectuée à l’aide d’instructions conditionnelles ou d’expressions régulières pour vérifier le format de l’entrée.
- Les scripts Bash peuvent-ils gérer les valeurs par défaut des entrées ?Oui, vous pouvez définir des valeurs par défaut pour les variables qui peuvent être remplacées par l’utilisateur.
- Comment puis-je rendre mes scripts Bash plus interactifs ?Utilisez la lecture en combinaison avec des instructions claires, des invites et des contrôles de validation pour améliorer l’interaction avec l’utilisateur.
- Y a-t-il des problèmes de sécurité liés à l’utilisation de la commande read ?Lorsque vous manipulez des données sensibles, utilisez toujours l’option « -s » pour des raisons de sécurité. Soyez également prudent lorsque vous exécutez directement les entrées de l’utilisateur.
- Où puis-je en savoir plus sur les scripts Bash ?Il existe de nombreuses ressources en ligne, tutoriels et livres disponibles sur les scripts Bash pour tous les niveaux de compétence.

