expect时用与提供自动交互的工具。比如如果想要用ssh登陆服务器,每次都输入密码你觉得麻烦,那你就可以使用expect来做自动交互,这样的话就不用每次都输入密码了。

先看例子:

#!/usr/bin/expect
#set timeout 20 #设置超时时间
spawn ssh root@192.168.43.131
expect "*password:"
send "123\r"
# expect "*#"
interact

解释:

1.#!/usr/bin/expect :需要先安装软件,然后来说明用expect来执行

2.spawn ssh root@192.168.43.131 :spawn是进入expect环境后才可以执行的expect内部命令,用来执行它后面的命令。

3.expect "*password:" :也是expect的内部命令,用来解惑关键的字符串,如果有,就会立即返回下面设置的内容,如果没有就看是否设置了超时时间。

4.send "123\r":这时执行交互式动作,与手工输入密码等效,在expect截获关键字之后,它就会输入send后面的内容。

5.interact :执行完毕后把持交互状态,把控制台,这时候就可以进行你想要进行的操作了。如果没有这一句,在登陆完成之后就会退出,而不是留在远程终端上。

今天突然想起了expect,所以就重新看了一下,希望对你有帮助。

最新文章

  1. [转]Windows7文件夹转移清理臃肿的C盘
  2. WDCP突破phpmyadmin导入文件时只有20M
  3. linux TCP: time wait bucket table overflow
  4. 解决sencha touch显示.JSON包含中文数据时显示乱码问题
  5. FlatUI博皮制作
  6. C语言经典参考书籍
  7. ☀【Grunt】no such file or directory, imagemin
  8. Lucene.net常用功能说明
  9. Delphi XE7 开发ActiveX 及在IntraWeb下调试
  10. Centos6 httpd与tomcat整合发布
  11. Mvc后台接收 参数
  12. Android makefile 组织结构
  13. QML中MouseArea元素的介绍
  14. Java思维导图之Class对象
  15. linux 每个小时释放一次cache
  16. java 文档
  17. tk简单使用
  18. 【移动端debug-6】如何做一个App里的web调试小工具
  19. Android webView输出自定义网页
  20. 松下 激光位移传感器 API

热门文章

  1. poj Muddy Fields
  2. jquery 插件:chosen
  3. Atitit. 高级软件project师and 普通的差别 高级编程的门槛总结
  4. 【BZOJ4008】【HNOI2015】亚瑟王 概率DP
  5. Online advertising术语
  6. 关于浮点数的json解析
  7. C# 系统应用之注冊表使用具体解释
  8. 常见的C++数学计算库
  9. Foundation框架 - NSDictionary类、NSMutableDictionary类
  10. CF:Problem 426B - Sereja and Mirroring 二分或者分治