LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1693|回复: 2

如何执行通过expect自动telnet登录服务器后的操作?

[复制链接]
发表于 2003-10-11 22:56:06 | 显示全部楼层 |阅读模式
刚开始看expect,现想利用来它来自动登录telnet服务器
现在可以进入服务器,但之后对于服务器的操作就没响应了,请问怎么回事?
我希望能登录以后直接敲命令操纵服务器。
谢谢!

源码:
#!/usr/bin/expect

spawn /usr/bin/telnet 192.168.0.1
expect "login"
send " MyID\r"
expect "assword:"
send "MyPasswd\r"
expect eof
expect "MyID"
send "ls\r"

如果能让它每隔几分钟自动输入几个字符,以防止断线更好了
发表于 2003-10-11 23:31:59 | 显示全部楼层
我的系统没有expect
 楼主| 发表于 2003-10-12 13:17:28 | 显示全部楼层
利用interact搞定
#!/usr/bin/expect

spawn /usr/bin/telnet 192.168.0.1
expect "login"
send " MyID\r"
expect "assword:"
send "MyPasswd\r"
set CTRLZ \032
                 interact {
                     -reset $CTRLZ {exec kill -STOP [pid]}
                     \001   {send_user "you typed a control-A\n";
                             send "\001"
                            }
                     $      {send_user "The date is [exec date]."}
                     \003   exit
                    foo    {send_user "bar"}
                     ~~
                 }
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表