AprendiNoLinux
(usa Ubuntu)
Enviado em 12/09/2011 - 19:30h
hum... parece que a dica do @fdmarp é o que você precisa :)
[citando]
http://linux.die.net/man/1/expect
[/citando]
Precisava de um exemplo prático de uso rodando um script e nele tivesse opções. Mas acho que o expect faz a simulação da sequência de teclas :)
-----------------------------------
Tradução googliana:
Por exemplo, o fragmento a seguir podem ajudar um guia do usuário uma interação que já está totalmente automatizado. Neste caso, o terminal é colocado em modo raw. Se o usuário pressionar "+", uma variável é incrementado. Se "p" é pressionada, retorna várias são enviados para o processo, talvez para picar-lo de alguma maneira, e "i" permite ao usuário interagir com o processo, efetivamente <<<roubando controle do script>>>. Em cada caso, o exp_continue permite que a corrente esperamos continuar a correspondência de padrão depois de executar a ação atual.
========================
stty raw -echo
expect_after {
-i $user_spawn_id
"p" {send "\r\r\r"; exp_continue}
"+" {incr foo; exp_continue}
"i" {interact; exp_continue}
"quit" exit
}
==============================
Nesta página tem alguns exemplos de uso com o expect:
http://en.wikipedia.org/wiki/Expect