我有一个使用openconnect连接到vpn的expect脚本。该脚本运行完美,但我不知道如果提供密码并且预期已达到EOF,如何保持openconnect存活。我想我需要分叉这个过程,但我需要它以某种方式保存密码。这是我的剧本
#!/usr/bin/expect -f
spawn ./openconnect
expect "sudo"
send "sudo_password\r"
expect "password:"
send "vpn_password\r"
expect /Connected\stun1\sas/ #expect connected tun1 as some ip
和openconnect
#!/usr/bin/env bash
sudo -k
sudo -S openconnect --juniper --user username --csd-wrapper ~/juniper-vpn-py/tnc vpn_server
输出以预期的方式连接到连接的tun1,但是然后期望关闭,生成的过程也是如此。
答案 0 :(得分:0)
在退出Expect scirpt之前,您必须等待生成的进程完成,否则可能会导致生成的进程过早被杀死。试试这样:
expect "Connected tun1 as"
expect eof
或
expect "Connected tun1 as"
interact