防止期望在 EOF 上退出
prevent expect from exiting on EOF
我有一个使用 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
和开放连接
#!/usr/bin/env bash
sudo -k
sudo -S openconnect --juniper --user username --csd-wrapper ~/juniper-vpn-py/tnc vpn_server
输出像预期的那样以某个 ip 连接到 tun1,但随后 expect 关闭,进程也随之产生。
您必须等待生成的进程完成才能退出 Expect 脚本,否则生成的进程可能会过早终止。像这样尝试:
expect "Connected tun1 as"
expect -timeout -1 eof ; # change the timeout value as needed
或
expect "Connected tun1 as"
interact
我有一个使用 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
和开放连接
#!/usr/bin/env bash
sudo -k
sudo -S openconnect --juniper --user username --csd-wrapper ~/juniper-vpn-py/tnc vpn_server
输出像预期的那样以某个 ip 连接到 tun1,但随后 expect 关闭,进程也随之产生。
您必须等待生成的进程完成才能退出 Expect 脚本,否则生成的进程可能会过早终止。像这样尝试:
expect "Connected tun1 as"
expect -timeout -1 eof ; # change the timeout value as needed
或
expect "Connected tun1 as"
interact