linux的expect用法,用来跳过窗口交互性

expect的核心是spawn expect send set

 

spawn 调用要执行的命令
expect等待命令提示信息的出现,也就是捕捉用户输入的提示:
send发送需要交互的值,替代了用户手动输入内容
set设置变量值
interact执行完成后保持交互状态,把控制权交给控制台,这个时候就可以手工操作了。如果没有这一句登录完成后会退出,而不是留在远程终端上。
expect eof 这个一定要加,与spawn对应表示捕获终端输出信息终止,类似于....endif

 

4.[expect"password:"]
这里的expect也是expect的一个内部命令,有点晕吧,expect的shel命令和内部命令是一样的,但不是一个功能,习惯就好了。这个命令的意思是判断。
果里是否包含“password:"的字符串,如果有则立即返回,否则就等待一段时间后返回,这里等待时长就是前面设置的30秒


5.[send"ispass\r"]
这里就是执行交互动作,与手工输入密码的动作等效。
温馨提示:命令字符串结尾别忘记加上r”,如果出现异常等待的状态可以核查一下。
6.[interactl
执行完成后保持交互状态,把控制权交给控制台,这个时候就可以手工操作了。如果没有这一句登录完成后会退出,而不是留在远程终端上。如果你只

posted @   不积硅步,无以至千里  阅读(96)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
历史上的今天:
2021-10-15 Python的__init__简单解释
2021-10-15 关于python中带下划线的变量和函数 的意义
点击右上角即可分享
微信分享提示