Eu acho que você quer expect
. Essa ferramenta pode trabalhar interativamente com comandos que precisam de entrada do usuário. Claro que a grande armadilha é que você tem que saber o que espera .
Exemplo (emprestado de link )
#!/usr/bin/expect
set timeout 20
spawn "./hello.pl"
expect "hello"
send "no match : <$expect_out(buffer)> \n"
send "match : <$expect_out(0,string)>\n"
interact