read est une commande UNIX 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, est 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.
Il est à noter que read est une commande interne des shells, et non pas pas un exécutable séparé. C'est pourquoi, par exemple, on ne trouve généralement pas de page de manuel avec man read; pour trouver la documentation associée, reportez-vous à celle des commandes interne de votre shell.
Exemple :
$> #On définit la virgule comme séparateur de champs $> IFS=, $> read var1 var2 var3 sh,bash,zsh $> echo "var1: $var1 \nvar2: $var2 \nvar3: $var3" var1: sh var2: bash var3: zsh