Chinaunix首页 | 论坛 | 博客
  • 博客访问: 30855
  • 博文数量: 8
  • 博客积分: 326
  • 博客等级: 二等列兵
  • 技术积分: 105
  • 用 户 组: 普通用户
  • 注册时间: 2007-09-06 00:35
文章分类

全部博文(8)

文章存档

2012年(5)

2011年(2)

2007年(1)

我的朋友

分类:

2011-08-30 18:07:29

原创文章,转载请注明出处。

linux下直接用终端登ssh或者mysql,来回的复制密码很恶心,所以原来一直用pac,只为一个功能,记忆密码,今天发现了expect,真是个好东西,模拟人机交互,实现根据提示来输入数据的自动脚本。
首先要记得安装expect,ubuntu下很简单:

ubuntu
  1. sudo apt-get install expect  
ssh
  1. #!/usr/bin/expect  
  2. # 解释器声明
  3. set timeout 30
  4. # 设置超时时间,单位秒  
  5. spawn ssh test@192.168.1.1
  6. # spawn 是expect的内部命令,个人理解其作用就是宣告进入人机模拟开始  
  7. expect "Password:"  
  8. # expect也是内部命令,作用是监视终端输出是否包含后面的内容,有则执行下面的send,没有就等待上面设置的timeout时间
  9. send "123456\r"  
  10. # 这个就是执行交互动作了,模拟人手动输入的东东,切记最后要带上回车符“\r”
  11. interact  
  12. # 模拟结束,把控制权交还控制台,如果不加这个,就等于直接退出了
mysql
  1. #!/usr/bin/expect  
  2. set timeout 30  
  3. spawn mysql -uroot -p  
  4. expect "Enter password:"  
  5. send "123456\r"  
  6. interact  

记得要给脚本加上可执行权限~

阅读(2276) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~