Você já tentou agrupar suas duas respostas em um único echo
separado por uma nova linha?
echo -e "response\ny" | ./command.pl
Observe que o sinal -e
é necessário com bash
para permitir a interpretação de escapes com barra invertida (a menos que bash
esteja no modo de conformidade Unix).
Ou mais portável:
echo 'response
y' | ./command.pl
Ou:
printf 'response\ny\n' | ./command.pl
Ou:
printf '%s\n' response y | ./command.pl
EDITAR:
Esqueci de mencionar, mas o problema com o seu comando inicial foi que echo
não recebe nenhuma entrada via STDIN. A saída do comando echo "y"
nunca atingiu ./command.pl
.