美文网首页
expect与bash结合实现交互

expect与bash结合实现交互

作者: whustle | 来源:发表于2019-08-29 10:29 被阅读0次

expect脚本可以接受从bash传递过来的参数.可以使用[lindex $argv n]获得,n从0开始,分别表示第一个,第二个,第三个....参数

# 命令行参数 
# $argv,参数数组,使用[lindex $argv n]获取,$argv 0为脚本名字
# $argc,参数个数
set username [lindex $argv 1]  # 获取第1个参数
set passwd [lindex $argv 2]    # 获取第2个参数
 
set timeout 30 # 设置超时
 
# spawn是expect内部命令,开启ssh连接
spawn ssh -l username 192.168.1.1
 
# 判断上次输出结果里是否包含“password:”的字符串,如果有则立即返回,否则就等待一段时间(timeout)后返回
expect "password:"
 
# 发送内容ispass(密码、命令等)
send "ispass\r"
 
# 发送内容给用户
send_user "$argv0 [lrange $argv 0 2]\n"
send_user "It's OK\r"
# 执行完成后保持交互状态,控制权交给控制台(手工操作)。否则会完成后会退出。
interact

注:参考http://xstarcd.github.io/wiki/shell/expect.html

相关文章

  • expect与bash结合实现交互

    expect脚本可以接受从bash传递过来的参数.可以使用[lindex $argv n]获得,n从0开始,分别表...

  • shell_expect实现自动交互免密登录操作

    expect实现自动交互免密登录操作 expect 内部命令 在命令行直接输入expect可以进入expect程序...

  • Command 脚本自动交互

    自动交互场景 ssh 以 密码 形式登陆远程主机时实现密码自动输入 解决方案 使用expect命令 expect ...

  • expect - 自动交互脚本

    expect - 自动交互脚本 目录 expect参数 expect教程中文版 expect中文手册 expect...

  • shell 常用命令

    shell 常用命令 expect expect 命令是用来实现自动化交互通信的,比如当你在脚本中通过某些命令登录...

  • shell-expect

    expect 用来实现自动和交互式任务进行通信,而无需人的干预依赖tcl,离线安装expect前需要提前安装tcl...

  • shell编程之Expect

    2021-01-13expect的安装 expect应答函数的语法是一个免费的编程工具, 用来实现自动的交互式任务...

  • expect基础与用法

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

  • linux2--expect

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

  • Shell学习笔记-expect

    expect 解释器 expect是一个能实现自动和交互式任务的解释器,它也能解释常见的shell语法命令,其特色...

网友评论

      本文标题:expect与bash结合实现交互

      本文链接:https://www.haomeiwen.com/subject/yfvbectx.html