O tempo limite não funciona no script de espera


1

Criei o seguinte script de espera para automatizar o logon em uma VPN:

 #!/usr/bin/expect

 set PASS [lindex $argv 0]

 set timeout 10
 spawn  vpnc
 expect    :            {send $PASS\r}
 expect eof

No entanto, quando dou um argumento de senha errado, os 10 segundos esperados não ocorrem.

Por que esse tempo limite de 10 segundos não ocorre?

Respostas:


1

Eu esperaria explicitamente o tempo limite:

set timeout 10
spawn  vpnc
expect :
send [lindex $argv 0]\r
expect {
    timeout {error "incorrect password"; exit 1}
    eof
}

então qual é o ponto? , como você resolve isso? , onde eu estou errado?
THE_BIG_EXPERT

1
Suponho que, enquanto você espera "eof", quando ocorre o tempo limite, seu script não faz nada com ele. Você testou meu código? Obviamente, "o ponto" é que estou tentando ajudá-lo com seu problema. O que você vai fazer com meus esforços?
glenn jackman

ok vou verificar a sua solução na minha máquina ,, retornarei assim que for dar o que aconteceu - :) #
THE_BIG_EXPERT

VOTE PARA VOCÊ SUAS OBRAS
THE_BIG_EXPERT
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.