if en expect

Hola:

¿Alguien me puede decir cómo narices se hace un if en expect?
Es decir, tengo el script:

#!/usr/local/bin/expect -f
set timeout 10
spawn telnet IP 110
expect "+OK Bienvenido al servicio..."
send "user cosa@cosa2\r"
expect "+OK"
send "pass cosa\r"
expect {
-exact "-ERR The system cannot find the file specified." {spawn "ALARMA DE ERROR"}
-exact "\+OK User successfully logged on." {salir}


La idea es que cuando me salga el mensaje de error me salte la alarma y cuando salga ok se salga del script. Es una pijada pero es que le he dado mil vueltas y es que no quiere ir. El "-" en el mensaje de error creo que también hay que escaparlo aunque no estoy muy seguro.

Un saludo y muchas gracias [beer]
0 respuestas