read (Unix)

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Page d'aide sur l'homonymie Pour les articles homonymes, voir Read.

read est un appel système standard Unix et une commande interne du shell Unix.

Appel système[modifier | modifier le code]

L'appel système permet de lire un certain nombre de bytes d'un descripteur de fichier et de les placer dans un tampon.

Commande shell[modifier | modifier le code]

Dans les shells de la famille Bourne shell, read est une commande interne qui permet de lire une ligne de donnée et d'en assigner le contenu à une ou plusieurs variables.

Par défaut, la source des données est l'entrée standard mais read peut également utiliser un descripteur de fichier via l'option « -u ».

La ligne lue est scindée en utilisant la variable d'environnement IFS et chaque partie est associée aux variables dont les noms ont été spécifiés en paramètre. Si le nombre de parties ainsi obtenues est inférieur aux nombres de variables, alors les variables restantes sont instanciées avec une valeur vide.

Exemple[modifier | modifier le code]

Exemple :

$> #On définit la virgule comme séparateur de champs
$> IFS=,
$> read var1 var2 var3
sh,bash,zsh
$> echo -e "var1 : $var1 \nvar2 : $var2 \nvar3 : $var3"
var1 : sh 
var2 : bash 
var3 : zsh

Voir aussi[modifier | modifier le code]