首页 > 解决方案 > “期望”命令行脚本连接到 VPN 并输入密码

问题描述

我正在尝试编写一个“Expect”脚本来连接到 VPN...尝试编写并期望(https://likegeeks.com/expect-command/)脚本来连接到 vpn,这是正确的想法吗:

连接的命令是:

sudo vpnName [ENTER] *Password* [ENTER] Random number 1-100 [ENTER] [ENTER]

所以期望脚本会是这样的:

#!/usr/bin/expect -f 
set randNum [(( ( RANDOM % 100 )  + 1 ))]
send -- "sudo vpnName\r"
send -- "*password*\r"
send -- "randNum\r \r"

标签: bashshellcommand-lineexpect

解决方案


您正在尝试将 bash 表达式与 tcl 结合使用(语言期望正在使用)

改用:

set randNum [expr {int(rand()*100) + 1}]

推荐阅读