因为工作关系,需要经常从线上机器上拉取数据,于是想着能否写个脚本,自动完成这个任务呢? 我一般使用scp在机器间传输文件,然而每次scp都需要输入密码,自动化脚本怎么解决这个问题呢?于是expect这款好用的交互工具就登场了。

  安装:

    rhel6.6下  yum install -y expect

  使用:

expect {
"(yes/no)" { send "yes\r"; exp_continue }
"password:" { send "your-password\r" }
}
expect eof
exit

  注意事项:

    在使用expect的过程中,中了很多坑,下面一一列举:

    • expect后面的大括号不得另起一行,否则expect解释器不识别
    • 如果是第一次scp某台机器,需要针对(yes/no)进行处理,否则脚本将一直hang组(一直在等待password)
    • 在输入完密码之后,需要执行expect eof; exit退出,否则脚本将一直hang住

最新文章

  1. Win10 IIS本地部署MVC网站时不能运行?
  2. Asp.NET MVC 使用 SignalR 实现推送功能一(Hubs 在线聊天室)
  3. C# 关于Try/Catch对系统性能影响的总结
  4. Html空格字符代码:
  5. 页面加载时执行JQ代码
  6. 分布式数据存储 - Zabbix监控MySQL性能
  7. HashSet 读后感
  8. 《samba搭建win客户端和linux客户端的区别》
  9. muParser公式库使用简介( 转)
  10. Egret初体验–躲避类小游戏
  11. memset 还可以这样用
  12. 康复计划#5 Matrix-Tree定理(生成树计数)的另类证明和简单拓展
  13. 最新亚马逊 Coupons 功能设置教程完整攻略!
  14. ansible学习笔记三:playbook和roles
  15. 垃圾wps弹出,现在连关闭按钮都不给了
  16. [Ting's笔记Day4]将Ruby on Rails项目部署到Heroku
  17. JS实例4
  18. MyCat配置文件详解--server.xml
  19. chrome-Firefox-IE浏览器兼容总结
  20. 关于$namespace$和重载运算符

热门文章

  1. mysql中的select语句where条件group by ,having , order by,limit的顺序及用法
  2. git branch 分支与合并
  3. solidity python 签名和验证
  4. JavaScript初探系列之面向对象
  5. Java常用类之StringBuffer
  6. lintcode-191-乘积最大子序列
  7. python 爬虫 伪装
  8. 【Docker 命令】- exec命令
  9. python Django框架接入微信公众平台
  10. Git 应用补丁报错 “sha1 information is lacking or useless”