通过expect进入telnet终端后,send命令只能输入第一个字符,这是什么原因
脚本如下图,执行到send "show\r" 时只在界面上看到了第一个字符s
看到这个题,就是缘分吧。下面我写的自动登录telent的脚本。
#!/usr/bin/expect
spawn telnet 127.0.0.1
expect {
"login:" {
send "lkmao\n";exp_continue
}
"assword" {
send "lkmao\n"
}
}
interact
查看我的本地的telnet服务:如下所示,当前已经建立了两个连接
lkmao@ubuntu:~$ netstat -a | grep telnet
tcp 0 0 *:telnet *:* LISTEN
tcp 0 0 localhost:telnet localhost:49002 ESTABLISHED
tcp 0 0 localhost:49002 localhost:telnet ESTABLISHED
lkmao@ubuntu:~$
执行这个expect脚本:
lkmao@ubuntu:~$ netstat -a | grep telnet
tcp 0 0 *:telnet *:* LISTEN
tcp 0 0 localhost:telnet localhost:49002 ESTABLISHED
tcp 0 0 localhost:telnet localhost:52268 ESTABLISHED
tcp 0 0 localhost:52268 localhost:telnet ESTABLISHED
tcp 0 0 localhost:49002 localhost:telnet ESTABLISHED
lkmao@ubuntu:~$