我正在尝试自动建立使用snx的VPN连接。
希望有人可以帮助弄清楚为什么在下面的预期脚本中,产生的snx进程就会死掉,期望达到'期望eof'。如果我运行下面的脚本并观察ps -auxef,我可以看到snx连接已经建立,但是一旦达到该行就会死掉。
#!/usr/bin/expect
log_user 0
send_user "attempting to establish vpn connection..."
spawn snx -s server.com -p 443 -u myuser
expect {
"Please enter your password:\n" {
send "password123\r"
expect eof
send_user "successful\n"
exit 0
}
eof {
send_user "vpn is already connected\n"
exit 0
}
}
奇怪的是,如果我手动运行snx命令并输入密码,它运行正常。
另一个奇怪的事情是这个问题只有在我从ssh会话运行到Fedora 17盒子时才能看到,但是当我在我的本地机器(Fedora 18)上运行时,它运行100%正常。有任何想法吗?任何帮助表示赞赏!
答案 0 :(得分:1)
请喜欢
spawn -ignore HUP /bin/sh -c "snx -s xxx.xxx.xxx.xxx -u vpn_account"
这将阻止终止