cap NOM, la línia es desa a la variable REPLY. Opcions: -a vector assigna les paraules llegides a VECTOR, de forma seqüencial començant des de l'índex número 0. -d delim continua llegint fins a trobar el caràcter DELIM, en lloc de fins a trobar un salt de línia -e si la sessió és interactiva, utilitza Readline per a obtenir la línia -i text Utilitza TEXT com a text inicial per a Readline -n núm torna després de llegir exactament NÚM caràcters, o quan es trobi el delimitador si apareix abans de NÚM caràcters -N núm torna només després de llegir exactament NÚM caràcters, excepte si es troba EOF o s'esgota el temps d'espera, i ignora qualsevol delimitador -p introd mostra la cadena INTROD sense cap caràcter de salt de línia afegit, abans d'intentar llegir res -r prohibeix escapar caràcters amb una barra invertida -s suprimeix l'eco quan l'entrada està connectada a un terminal -t temps surt si transcorre TEMPS (en segons) abans d'haver aconseguit llegir una línia sencera. Per defecte, el límit de temps és el valor de la variable TMOUT. TEMPS pot ser un número amb decimals. Si TEMPS és 0, read torna immediatament, sense intentar llegir cap dada, i torna èxit només si hi ha dades disponibles en el descriptor de fitxer FD especificat. Un estat de sortida més gran que 128 indica que s'ha esgotat el temps d'espera. -u fd llegeix dades al descriptor de fitxer FD, en lloc de a l'entrada estàndard. Estat de sortida: El codi de retorn és zero, excepte si es troba EOF (final de fitxer), s'arriba al límit de temps (en aquest cas, retorna un número major que 128), es produeix un error d'assignació de variable, o si heu especificat un descriptor de fitxer invàlid amb l'opció -u.