- 论坛徽章:
- 0
|
本帖最后由 158878318 于 2015-06-08 10:39 编辑
- #!/usr/bin/expect
- if {$argc < 2} {
- puts "$argv0 err params\n"
- exit 1
- }
- set timeout 10
- set User [lindex $argv 0]
- set Passwd [lindex $argv 1]
- set Port [lindex $argv 2]
- proc ssh_exp {Login Pass PORT} {
- puts $Login;
- puts $Pass;
- puts $PORT;
- puts ------------------
- }
- ssh_exp $User $Passwd $Port
- set file [open ip.txt r]
- while {[gets $file line]>=0} {
- spawn ssh -p $Port $User@$line
- expect {
- "(yes/no)" {send "yes\n"}
- "*assword:" {send "$Passwd\n"}
- }
- expect {
- "*#*" {send "ls -l\n"}
- }
- expect eof
- }
- close $file
- expect eof
- exit
复制代码 脚本的意思是读取文件里的IP地址并,登陆到服务器中执行命令,while部分我使用了expect eof,每次登陆后停止10秒在循环下一个,
脚本可以执行没有问题,但是感觉while部分这么写还是有点问题,因为对expect一些东西不是很了解,大家帮我看下有什么更好的方式,学习一下。 |
|