expect简介
expect是一种基于TCP编写的自动交互式的程序,可以用在shell脚本中,为FTP、SSH等交互过程自动输送预先准备的文本或指令,无需人工干预;触发的依据是预期会出现的文本特征。(需要预先安装)
手动expect示例
用户可以使用expect进行手动交互,例:
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/d118c54b38aa79367119b4960c19c018.png)
免交互expect用法
用法1
将expect命令保存到文件,使用expect命令执行文件,例:
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/461fd6e6fa675316f313c05045c39469.png)
用法2
使用shell脚本执行,需要添加Sha-Bang环境声明并赋予执行权限,例:
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/af008dca20f8476df9b6fb8a8a891d45.png)
expect在SSH的应用示例
目标:使用expect脚本实现ssh免交互登录,并完成上传文件的操作。
![在expect中可以使用变量](https://i-blog.csdnimg.cn/blog_migrate/b0e634b38dd89791f3f53836dd14a115.png)