bash - “期望”命令行脚本连接到 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"
解决方案
您正在尝试将 bash 表达式与 tcl 结合使用(语言期望正在使用)
改用:
set randNum [expr {int(rand()*100) + 1}]
推荐阅读
- flutter - 如何获取格式为“2020-01-10T08: 47: 36.264Z”的日期?
- c - 在c中创建队列
- linux - 如何阻止 Pop_OS 20.10 在启动时默认为故障显示设置?
- javascript - 缩放时平滑增加标记大小
- html - 下载属性在标签中不起作用
- android - 如何为警报实施“不再显示”选项
- cookies - 如何设置仅http cookie
- ubuntu-18.04 - ubuntu 18.04 重启后无法访问 fsx 共享卷
- javascript - never[] 类型的 Typescript 参数不可分配给 SetStateAction 类型的参数
- rest-client - 在 Insomnia REST 中将响应窗格移动到底部