Quando um script está lendo dados passados pela entrada padrão, o descritor de arquivos 0 de sua sessão, bem como de todos os subprocessos iniciados no script, é redirecionado para o arquivo (ou pipe) que tiver sido escrito na linha de comando de sua invocação. Com isso, todos os comandos no script que estiverem lendo a entrada padrão (read, comandos compostos, grep, cat, etc…) lerão o mesmo arquivo. No caso de precisarmos receber dados por teclado em scripts assim, nós podemos ler o dispositivo de terminal /dev/tty, como demonstrado na animação.