Tout d'abord, vérifiez la syntaxe de base de la commande « read » :
lire la variable [option]L'utilisation de la commande "read" signifie que vous interagissez avec Bash pour obtenir des informations de l'utilisateur. Il enregistre la valeur dans une variable, mais sans "$" signe. Vous pourrez mieux comprendre ce concept avec un exemple.
Exemple 1 : Utilisation de la commande « read » dans un script Bash
Pour examiner plus en profondeur la commande "read", nous allons créer un script simple qui demandera le nom de l'utilisateur. Tout d'abord, ouvrez n'importe quel éditeur de texte ; pour ce tutoriel, j'utilise l'éditeur de texte Vim en raison de ses nombreuses fonctionnalités utiles. Pour installer Vim, exécutez la commande suivante dans le terminal :
$sudo apt installer vimEnsuite, tapez ce qui suit dans le fichier texte :
#! \bin\bashecho "Veuillez taper votre nom"
lire le nom
echo "Votre nom est" $name
Enregistrez le fichier sous n'importe quel nom, puis appuyez sur Esc et tapez ":w readcom.sh.” Pour exécuter le script, exécutez la commande suivante :
$ bash readcom.shLe script ci-dessus demandera à l'utilisateur d'écrire son nom. La commande "read" enregistrera alors l'entrée de l'utilisateur. La ligne suivante imprimera le nom que l'utilisateur a saisi.
Exemple 2 : Simplification du code à l'aide de l'opérateur « invite »
L'exemple ci-dessus peut être simplifié davantage en utilisant le "rapideopérateur. Réécrivons l'exemple ci-dessus pour comprendre le code :
#! /bin/bashread -p "Veuillez taper votre nom" nom
echo "Votre nom est" $name
Exemple 3 : Masquage de l'entrée utilisateur à l'aide de l'opérateur « secret/silencieux »
Le "-s” flag peut être utilisé pour masquer la saisie de l'utilisateur. L'exemple de script Bash suivant vous montre comment utiliser l'opérateur « -s » :
#! /bin/bashread -p "Veuillez saisir votre nom d'utilisateur" nom d'utilisateur
read -s -p "Veuillez saisir votre mot de passe" $password
Exemple 4 : limitation de la longueur des caractères
Le "-m” peut être utilisé pour ajouter une contrainte au nombre de caractères que l'utilisateur peut saisir.
#!/bin/bashread -n 8 -p "Veuillez saisir votre nom d'utilisateur ne dépassant pas 8 caractères" nom d'utilisateur
echo "Votre nom d'utilisateur est" $username
Avec l'option "-n", l'utilisateur peut toujours écrire moins de huit caractères. Pour restreindre davantage la longueur d'entrée, le "-N” peut être utilisé, ce qui limite la réponse de l'utilisateur à exactement huit caractères.
Exemple 5 : Obtenir l'entrée dans un tableau
L'entrée de l'utilisateur peut également être prise dans un tableau avec le "-une" drapeau. Par exemple, pour obtenir le nom, l'âge et l'adresse e-mail de l'utilisateur en une seule fois, nous pouvons utiliser un tableau. Regardons un exemple :
#! /bin/bashecho "Veuillez saisir votre nom, votre âge et votre e-mail"
read -a nom du tableau age email
echo "Votre nom, âge et adresse e-mail sont : $array[@] nom âge e-mail"
echo "Votre nom et votre âge sont : $array[@]:0:1 name age"
echo "Votre adresse e-mail est : $array[2] email"
- "$array[@]" bouclera sur toutes les variables.
- Pour parcourir les index 0 à 1, utilisez "$array[@]:0:1" avec les noms de variables.
- Pour obtenir la valeur d'une variable particulière à un index spécifique, utilisez "$array[2]" avec le nom de la variable.
Exemple 6 : Ajout d'un délai d'attente à la commande « read »
Comme l'indique le nom de la commande, un délai d'attente peut être ajouté comme condition de lecture du code à l'aide du drapeau "-t", ce qui oblige l'utilisateur à saisir des informations pour un temps spécifique. Sinon, le programme passera à la ligne de code suivante.
#! \bin\bashecho "Quelle est la capitale du Japon? Réponse en 5 secondes"
lire -t 5 réponse
if [ "$réponse" = "tokyo" ] || [ "$réponse" = "Tokyo" ];
ensuite
echo "Votre réponse est correcte!"
autre
echo "Votre réponse est fausse!"
Fi
Conclusion
Obtenir une entrée d'un utilisateur est l'une des parties les plus importantes de la programmation, rendant vos programmes plus interactifs. Cet article vous a montré comment utiliser la commande "read", l'une des commandes clés dans les scripts Bash. Dans cet article, vous avez découvert certaines des différentes approches que vous pouvez utiliser avec la commande "read", des opérateurs de base aux opérateurs avancés.