#!/usr/bin/expect set timeout 10 log_user 0 send_user "desconectando si es que hay alguna sesion abierta\n" spawn snx -d expect { timeout { exit 2 } eof { sleep 1 send_user "intentando conectar a vpn...\n" spawn -ignore HUP /bin/sh -c "snx" expect { "password:" { send "<>\r" expect { "connected." { send_user "conectado!\n" exit 0 } "Connection aborted." { send_user "conexion abortada\n" exit 1 } eof { send_user "hubo un error\n" exit 1 } timeout { send_user "timeout\n" exit 2 } } } eof { send_user "hubo un error\n" exit 1 } timeout { send_user "timeout\n" exit 2 } } } } expect eof exit 1