expect脚本的原理:expect是如何实现交互的?
我用scp复制文件,发现每一次复制都要输入口令。于是就想了很多方法去自动输入口令,试过管道,重定向都没有用,最后用expect脚本实现了自动输入口令。
所以我想问,expect的原理是什么,我找来源码看了···看不到头绪。
------解决方案--------------------我认为管道,重定向都没有用是因为ssh的密码输入不能早,早就就扔掉了。expect只是一直在从标准输出读取数据并且不停分析,当我们需要的数据到达了,就吧我们定义好的数据往标准输入输入,这样ssh就接受了你的密码,只要是时效性上对重定向上改进了。(当然expect还做了很多优化)