linux - 如何使用 linux expect 脚本输入密码提示

标签 linux command-line expect

我在编写将启动我的 forticlient vpn 命令行客户端并在出现提示时发送我的密码的脚本时遇到了一些问题。这是我的代码:

#!/usr/bin/expect -f
set loadme "./forticlientsslvpncli --server myvpnserver --vpnuser theuser
eval spawn $loadme
expect "Password for VPN: "
send "password\r"

但是,它仍然提示输入 vpn 密码。我确信这很简单,而且我对 Linux 脚本编写还很陌生,但我们将不胜感激任何帮助!

谢谢!

最佳答案

#!/usr/bin/expect -f
set timeout -1
cd /usr/local/forticlientsslvpn
spawn ./forticlientsslvpn_cli --server myhost:10443 --vpnuser myuser
expect "Password for VPN:" {send -- "mypassword\r"}
expect "to this server? (Y/N)\r" {send -- "y\r"}

expect eof

关于linux - 如何使用 linux expect 脚本输入密码提示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17219416/

相关文章:

linux - Linux 中的 Telnet 和 opennig 命令提示符脚本

linux - 如何在shell脚本中跳转解压目录?

java - 如何将现有的 Java 项目添加到 Git 存储库

linux - ARM Linux 下 Poco 的定时器问题

swift - 更新 Mac OS 命令行应用程序的文本

expect - 我怎么知道我已经完成了交互模式?

node.js - 安装了错误的包

linux - Shell-fu 列出目录中包含单词或短语实例的所有文件

linux - 如何验证两个 zip 包之间的等效性

linux - 我的期望脚本如何从我的配置文件设置参数