De read
página de manual :
Read one line from the standard input, (or from a file) and assign the word(s) to variable name(s).
If no names are supplied, the line read is assigned to the variable REPLY.
Portanto, $REPLY
é sempre toda a linha , enquanto as variáveis atribuídas são sempre palavras . Não funcionaria de outro modo, e. se você tiver várias palavras, o que seria $REPLY
?