1 | send “Hello world” |
1 2 3 | #!expect – f expect “hi\n” send “hello there\n” |
1 | spawn ftp ftp.linux.ibm.com |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | #!/usr/bin/expect # 设置超时时间为 60 秒 set timeout 60 # 设置要登录的主机 IP 地址 set host 192.168.0.4 # 设置以什么名字的用户登录 set name root # 设置用户名的登录密码 set password 123456 #spawn 一个 ssh 登录进程 spawn ssh $host -l $name # 等待响应,第一次登录往往会提示是否永久保存 RSA 到本机的 know hosts 列表中;等到回答后,在提示输出密码;之后就直接提示输入密码 expect { "(yes/no)?" { send "yes\n" expect "assword:" send "$pasword\n" } "assword:" { send "$password\n" } } expect "#" # 下面测试是否登录到 $host send "uname\n" expect "Linux" send_user "Now you can do some operation on this terminal\n" # 这里使用了 interact 命令,使执行完程序后,用户可以在 $host 终端进行交互操作。 Interact |
1 2 3 4 5 6 7 8 9 10 11 | [root@redhat ~]chmod a+x t1.expect [root@redhat ~]./t1.expect spawn ssh 192.168.0.4 -l root root@192.168.0.4's password: Last login: Fri Jun 12 15:36:01 2009 from 192.168.0.3 Red Hat Enterprise Linux Server release 5.1 (Tikanga) [root@c96m3h4ms01 ~]# uname Linux Now you can do some operation on this terminal [root@c96m3h4ms01 ~]# |
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) | Powered by Discuz! 7.0.0 |