Pregunta

Estoy corriendo una aplicación, que solicita una contraseña de usuario sobre una docena de veces :-( He intentado utilizar esperar para eludir este problema y hacer que se ejecute en el modo automático, pero soy incapaz de superar el problema de la contraseña varias veces, lo que no es exactamente estática. A veces se pide a 4-5 veces y en algún momento alrededor de 9-10 veces.

¿Hay una mejor solución al problema de lo que he dado a continuación:

spawn myApp [lindex $argv 0]
expect " password: $"
send "$password\r"
expect {
  " password: $"    send "$password\r"
  "^Rollout Done "
  "^Rollout Updated "
}

Con la solución anterior, que sólo han sido capaces de atrapar la contraseña dos veces y luego comenzar a introducir manualmente por el resto de las veces, no es posible un bucle con la contraseña?

Otros consejos

esperar puede utilizar bucles - es sólo TCL con algunos comandos adicionales, creo. Así que acaba de hacer

set found 0
while {$found < 1}
{
expect {
 " password: $"    send "$password\r"
 "^Rollout Done "  set found 1
 "^Rollout Updated " set found 1
}
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top