我为我的设备设置了3个密码(必须为18个字符)pwd身份验证。希望有一种方法可以通过Expect脚本设置为进入特权/启用模式。想要像ssh 1.1.1.1一样启动它,但是要使用脚本例如脚本1.1.1.1。从阅读该语言的1小时开始,基本上这就是我所拥有的:
#!/usr/bin/expect
pwd = "my first pwd"
pwd2 = "my second pwd"
pwd3 = "third pwd"
spawn ssh $1
expect "yes/no"
send "yes\r"
expect "*?assword"
send "pwd/r"
expect ">"
send "en/r"
send "pwd2/r"
expect "$"
send "en/r"
send "pwd3/r"
interact
答案 0 :(得分:0)
您犯了3个错误:
期望是tcl语言的扩展,并且变量是通过set
命令设置的。
set pwd "my first pwd"
Tcl将命令行参数放入(0索引)argv
数组中。你得到第一个参数
spawn ssh [lindex $argv 0]
像shell一样,您需要使用$var
语法获取变量的值。另外,请确保对回车符使用正确的反斜杠。
send "$pwd\r"