<Précédent | Table des matières | Suivant>
Options
read prend en charge les options suivantes :
Tableau 28-1 : lire les options
Description des options
Description des options
-a tableau Attribuez l'entrée à tableau, en commençant par l'index zéro. Nous
couvrira les tableaux au chapitre 35.
-d délimiteur Le premier caractère de la chaîne délimiteur est utilisé pour
indiquer la fin de l'entrée, plutôt qu'un caractère de nouvelle ligne.
-e Utilisez Readline pour gérer les entrées. Cela permet l'édition d'entrée de la même manière que la ligne de commande.
-i un magnifique Utilisez un magnifique comme réponse par défaut si l'utilisateur appuie simplement sur
Entrer. Nécessite le -e option.
-n num Lire num caractères d'entrée, plutôt qu'une ligne entière.
-p rapide Afficher une invite de saisie à l'aide de la chaîne rapide.
-r Mode brut. N'interprétez pas les barres obliques inverses comme des échappements.
-s Mode silencieux. Ne répercutez pas les caractères à l'écran au fur et à mesure qu'ils sont saisis. Ceci est utile lors de la saisie de mots de passe et d'autres informations confidentielles.
-t secondes Temps libre. Terminer la saisie après secondes. lire renvoie un
état de sortie différent de zéro si une entrée expire.
-u fd Utiliser l'entrée du descripteur de fichier fd, plutôt que l'entrée standard.
En utilisant les différentes options, nous pouvons faire des choses intéressantes avec lire. Par exemple, avec le
-p, nous pouvons fournir une chaîne d'invite :
#! / Bin / bash
# read-single : lit plusieurs valeurs dans la variable par défaut read -p "Entrez une ou plusieurs valeurs > "
echo "REPLY = '$REPLY'"
#! / Bin / bash
# read-single : lit plusieurs valeurs dans la variable par défaut read -p "Entrez une ou plusieurs valeurs > "
echo "REPLY = '$REPLY'"
Avec la -t et de -s options, nous pouvons écrire un script qui lit l'entrée « secrète » et expire si l'entrée n'est pas terminée dans un délai spécifié :
#! / Bin / bash
# read-secret : saisissez une phrase de passe secrète
si lu -t 10 -sp "Entrez le mot de passe secret > " secret_pass; then echo -e "\nPhrase secrète secrète = '$secret_pass'"
d'autre
echo -e "\nL'entrée a expiré" >&2 exit 1
fi
#! / Bin / bash
# read-secret : saisissez une phrase de passe secrète
si lu -t 10 -sp "Entrez le mot de passe secret > " secret_pass; then echo -e "\nPhrase secrète secrète = '$secret_pass'"
d'autre
echo -e "\nL'entrée a expiré" >&2 exit 1
fi
Le script demande à l'utilisateur une phrase secrète secrète et attend 10 secondes pour la saisie. Si l'entrée n'est pas terminée dans le délai spécifié, le script se termine avec une erreur. Depuis le
L'option -s est incluse, les caractères de la phrase secrète ne sont pas affichés à l'écran lorsqu'ils sont saisis.
Il est possible de fournir à l'utilisateur une réponse par défaut en utilisant le -e et de -i options ensemble :
#! / Bin / bash
# read-default : fournissez une valeur par défaut si l'utilisateur appuie sur la touche Entrée. read -e -p " Quel est votre nom d'utilisateur ? " -i $USER
echo "Vous avez répondu : '$REPLY'"
#! / Bin / bash
# read-default : fournissez une valeur par défaut si l'utilisateur appuie sur la touche Entrée. read -e -p " Quel est votre nom d'utilisateur ? " -i $USER
echo "Vous avez répondu : '$REPLY'"
Dans ce script, nous demandons à l'utilisateur d'entrer son nom d'utilisateur et d'utiliser la variable d'environnement UTILISATEUR pour fournir une valeur par défaut. Lorsque le script est exécuté, il affiche la chaîne par défaut et si l'utilisateur appuie simplement sur la touche Entrée, lire attribuera la chaîne par défaut au RÉPONDRE variable.
[moi@linuxbox ~]$ lecture par défaut Quel est votre nom d'utilisateur? moi tu as répondu : 'moi'
[moi@linuxbox ~]$ lecture par défaut Quel est votre nom d'utilisateur? moi tu as répondu : 'moi'