随笔 - 27  文章 - 0 评论 - 2 阅读 - 15万
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

1 #!/usr/bin/expect
2 set timeout 100
3 set passwd "your password"
4 spawn shell
5 expect "key"
6 send "$passwd\n"
7 interact
  1. 第一行主要用于指明expect执行路径,由于登录类的脚本本质上是由expect解释执行,所以第一行需要指明expect的路径
  2. 第二行用于设置超时时间,设置值为-1代表不超时
  3. 第三行用于设置登录密码,即填写你要执行的shell语句的密码
  4. 第四行用spawn来执行你要执行的shell命令
  5. 第五行使用expect来匹配执行shell命令的返回值中的关键字key,即需要知道执行shell之后等待输入密码的那行语句,超时时间即第二行设置的时间
  6. 第六行使用send将第三行设置的密码自动填充到terminal,实现登录功能
  7. 第七行使用interact退出expect环境,返回terminal界面,实现登录成功之后再输入,如不使用interact则会停留在expect环境中,并且无法输入

 

posted on   Daniel_z  阅读(279)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程
点击右上角即可分享
微信分享提示