gpt4 book ai didi

bash - 防止期望在 EOF 上退出

转载 作者:行者123 更新时间:2023-12-05 03:09:46 24 4
gpt4 key购买 nike

我有一个使用 openconnect 连接到 vpn 的 expect 脚本。该脚本运行完美,除了我不知道如何在提供密码并且期望达到 EOF 后让 openconnect 保持事件状态。我想我需要 fork 这个过程,但我需要它以某种方式保留密码。这是我的脚本

#!/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 scirpt 之前必须等待生成的进程完成,否则生成的进程可能会过早终止。像这样尝试:

expect "Connected tun1 as"
expect -timeout -1 eof ; # change the timeout value as needed

expect "Connected tun1 as"
interact

关于bash - 防止期望在 EOF 上退出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41835930/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com