La commande read
L’instruction read permet de créer des scripts interactifs, read lit une ligne en provenance de l’entrée standard (par défaut le clavier) et alimente à partir de cette dernière des variables. read attend que l’utilisateur entre une valeur.
Syntaxe
read nom_variable1 nom_variable2 …
Ci-dessous une utilisation de la commande read dans le terminal :
1 2 3 4 | admin@debian:~$ read nom Legrand admin@debian:~$ echo $nom Legrand |
Ci-dessous read attend plusieurs données (nom et prenom):
1 2 3 4 5 6 | admin@debian:~$ read nom prenom Legrand Alain admin@debian:~$ echo $nom Legrand admin@debian:~$ echo $prenom Alain |
Exemple d’un script shell utilisant read
1 2 3 4 | #!/bin/sh echo "Salut... Entrer une valeur svp" read valeur echo "Merci, la valeur que vous avez tapé est: $valeur" |
Timeout
L’option -t timeout permet d’indiquer un délai maximum d’attente avant que read ne retourne une erreur.
1 2 | echo "entrer une valeur:" read -t 5 valeur |
L’utilisateur a 5 secondes pour entrer la valeur, au delà de ce delai la valeur de retour de read sera differente de 0.
-n nchars
Cette option indique à read le nombre de caractères à lire.
1 | read -n 10 |
read ne lira que 10 caractères.
La commande readonly
L’instruction readonly permet de créer des variables dont la valeur ne peut plus être modifiée.
Syntaxe
readonly variable=valeur
Exemple
1 2 3 4 5 | admin@debian:~$ readonly var=cerise admin@debian:~$ echo $var cerise admin@debian:~$ var=melon -su: var : variable en lecture seule |