当前位置: 首页 > news >正文

expect 使用方法

        Expect是一个免费的 编程工具语言,用来实现自动和交互式任务进行通信,而无需人的干预。

 1、传参方法:

bash是通过$0 ... $n接收参数

expect是通过set <变量名称> [lindex $argv <param index>],

2、判断语法

  if { condition } {
     # do your things
} elseif {
     # do your things
} else {
     # do your things
}

expect中没有小括号(),所有的if/else, while, for的条件全部使用大括号{}, 并且{ 与左边要有空格,否则会报错。另,else 不能单独占一行,否则会报错。

3、基本语法

send:用于向进程发送字符串

set 定义变量

expect:从进程接收字符串

spawn:启动新的进程

interact:允许用户交互

exit 退出expect脚本

puts 输出变量

set timeout n 设置超时时间,

示例:

远程一个服务器

set host [lindex $argv 0]
set port [lindex $argv 1]
set password "******"if { "$host" == "zc" } {set ip "10.10.10.1"
} elseif { "$host" == "nlt" } {set ip "10.10.10.2"
}
puts "$ip"
spawn ssh mmm@$ip -p $port
expect {#    "yes/no" { send "yes\r";exp_continue }"password:" {send "$password\r" }}
interact

http://www.lryc.cn/news/19855.html

相关文章:

  • Spring AOP详解-Spring官方原版
  • 链表习题精选(持续更新中)
  • 【log】操作类日志处理 与 报错类日志处理logback
  • 百度网盘好友发来的文件手动输入JS选择代码批量保存
  • 【CS224W】(task6)Google的PageRank算法
  • Python安装拓展库及常用的pip命令及其用法
  • 这9道软件测试面试题,就能刷掉90%的软件测试员
  • 【大数据】大数据Hadoop生态圈
  • python读取tif图像+经纬度
  • Kali安装配置vulhub
  • 【进击的算法】动态规划——不同维度的背包问题
  • udiMagic 导入 Excel to Tally ERP Crack
  • Redis实现分页和多条件模糊查询方案
  • 【H5 | CSS | JS】如何实现网页打字机效果?快收下这份超详细指南(附源码)
  • Airbyte,数据集成的未来
  • 00.内容安排
  • FreeRTOS任务基础知识
  • JDBC-API详解、SQL注入演示、连接池
  • C 学习笔记 —— 动态分配内存(malloc)
  • RK3588通用布线设计指南
  • ChatGPT也懂如何设计开发板!?
  • 去了字节跳动,才知道年薪40W的测试居然有这么多?
  • 2023前端面试知识点总结
  • FL StudioV21电脑版水果编曲音乐编辑软件
  • 【数据结构初阶】实现顺序表的简单功能
  • 华为OD机试题,用 Java 解【停车场车辆统计】问题
  • Linux中使用Docker部署Mysql数据库
  • JPDA(远程调试)使用步骤
  • 磷脂-聚乙二醇-丙烯酸酯;DSPE-PEG-AC试剂说明;DSPE-PEG-Acrylate科研用
  • C++入门:异常处理