Chinaunix首页 | 论坛 | 博客
  • 博客访问: 327938
  • 博文数量: 104
  • 博客积分: 3025
  • 博客等级: 中校
  • 技术积分: 1150
  • 用 户 组: 普通用户
  • 注册时间: 2005-02-02 11:12
文章分类

全部博文(104)

文章存档

2013年(1)

2011年(2)

2010年(30)

2009年(29)

2008年(8)

2007年(15)

2006年(17)

2005年(2)

我的朋友

分类:

2009-01-09 09:52:02

#!/usr/bin/expect
set timeout 10
set foo [lindex $argv 1]
spawn scp /root/bash/ss.txt 192.168.1.1:/root/file/$foo
expect "password:"
send "123456\r"
expect eof
exit 0


#./bash.sh a b

脚本功能:
上面为一个使用了expect的脚本,目的是将本地/root/bash/ss.txt拷贝到192.168.1.1的/root/file/目录,并命名为b,
其中:
  • a为第一个参数,b为第二个参数,expect的参数从0开始,a对应参数0,b对应参数1
  • foo为一个脚本内定义的变量
  • 等待出现password:字样后,输入密码123456并回车(\r)
阅读(615) | 评论(2) | 转发(0) |
给主人留下些什么吧!~~

diocorns2009-12-08 15:45:14

#!/usr/bin/expect set username "root" set password "123456" set servers [exec cat host_list |grep IDC] foreach server $servers { spawn ssh $username@$server "[lindex $argv 0]"; expect "*password: "; sleep 1; send "$password\r"; interact; }

diocorns2009-01-09 15:38:17

#!/usr/bin/expect set timeout 2 set foo [lindex $argv 0] spawn scp /root/bash/ss.txt root@192.168.1.1:/root/file/$foo expect { "yes/no" { send "yes\r"; exp_continue} "password:" { send "123456\r" } } expect eof exit 0 这个适用于第一次远程登录需要输入yes的情况,一楼的脚本遇到输入yes的情况就会卡住等待超时 注意:这个语法较严格,需要copy使用,一个空格都会导致报错