首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Linux expect 自动交互脚本用法

    最近用到自动交互脚本进行数据库备份,以前虽然也有用来使用 ftp 远程获取文件,还来没有系统记录过,趁这次机会总结一下。...expect自动交互流程: spawn启动指定进程 expect获取指定关键字 send向指定程序发送指定字符 执行完成退出. 注意该脚本能够执行的前提是安装了 expect。...在expect中多次匹配就需要用到 send_user 用来打印输出 相当于shell中的echo exit 退出expect脚本 eof...expect执行结束 退出 set 定义变量 puts 输出变量 set timeout 设置超时时间 使用示例 下面以我最近使用的脚本来一行行进行分析..."${user}@${ip}'s password:" # 发送内容pass,类似于我们使用时输入密码,将该步骤交给脚本完成 send "${pass}\r" # 执行完成后自动退出 expect eof

    1.8K30

    expect 实现脚本的自动交互

    expect 是建立在 tcl 语言基础上的一个自动化交互套件, 在一些需要交互输入指令的场景下, 可通过脚本设置自动进行交互通信。...# send 和 send_user:send 会将 expect 脚本中需要的信息发送给 spawn 启动的那个进程,而 send_user 只是回显用户发出的信息,类似于 shell 中的 echo...expect 实例 自动拷贝 scp scp 远程复制文件(夹)涉及到很多交互式命令,我们不得不人工响应,expect 的出现解决了这个问题,实例脚本如下。...} "password" { send "$password\n" } } expect eof EOF } sshdzd 脚本运行成功输出如下: start ssh waibao server...参考资料 expect自动交互详解 Ubuntu使用Spawn和expect实现ssh自动登陆 Linux中通过expect工具实现脚本的自动交互

    1K31

    Shell脚本和expect实现自动交互

    expect介绍 expect是一个自动交互功能的工具,可以满足代替我们实际工作中需要从终端手动输入某些内容来使得程序或命令继续运行的目的。...如安装软件是时的一些提示,ssh远程主机执行命令时需要多次输入密码的情况 expect主要命令 spawn 启动新进程,用于执行shell命令 send 发送字符串给expect控制的进程 set...永远等待 set timeout 10 设置超时时间 10秒 interact 将脚本的控制权交给用户,用户继续使用shell执行命令 $argv expect 脚本可以接受从bash传递过来的参数...安装expect yum install expect 免密码通过SSH登录服务器 [root@linux /]# vim ssh.exp #!.../usr/bin/expect set ip "172.16.0.8" set user "root" set pwd "123456" spawn ssh $user@$ip expect { "

    1.5K30

    expect脚本中设置超时,比如下面的脚本

    文件expect_ssh_scp.sh #!.../usr/bin/expect                                                                              #表示使用expect...语句 "(yes/no)" {send "yes\r";exp_continue} "*assword:" {send "password\r"} } expect 100% expect...如果超时限制对下面所有的expect语句都有效,比如下面的scp远程复制命令,如果数据没传输完,程序就超时了,那怎么解决呢? 那样的话expect 100%这句代码又有什么作用??...我看到一种解释是:代码刚开始设定了timeout的时间为10秒,如果在执行scp任务时遇到了代码中没有指定的异常,则在等待10秒后该脚本的执行会自动终止。这样理解对吗?

    2.9K30

    shell脚本快速入门之-----深入介绍Expect免交互

    免交互:自动化处理的前提条件 一、Expect概述 Expect是建立在tc|基础.上的一个工具,Expect 是用来进行自动化控制和测试的工具。主要解决shelI脚本中不可交互的问题。...为了模拟这种输入,可以使用Expect脚本 Expect安装 挂载光盘 制作本地YUM源 执行安装命令 yum -y install expect 二、基本命令 1、格式 set...expect eof $argv参数数组 Expect脚本可以接受从bash传递的参数,可以使用 [lindex argv n] 获得,n从0开始,分别表示第一个1,第二个2,第三个3……参数 argvn...没有空格则表示脚本名称 ; argv n有空格则代表下标 Expect脚本必须以interact或expect eof 结束,执行自动化任务通常expect eof就够了 expect eof 是在等待结束标志...由spawn启动的命令在结束时会产生一个eof标记,expect eof 即在等待这个标记 三、Expect语法 send命令不具备回车换行功能,一般要加 \r 或 \n 单一分支语法 expect

    2.4K31

    Linux之expect工具免交互式shell脚本执行

    Linux之expect工具是一个根据脚本与其他交互式程序进行交互。通过在脚本中设定期望值和响应值进行交互操作。主要应用于执行命令和程序时,系统以交互形式要求输入指定字符串,实现交互通信。...以SSH KEY 生成以及发送到远程服务器为例简单介绍下expect工具 expect 启用选项: -c执行脚本前先执行的命令,可多次使用-ddebug模式,可以在运行时输出一些诊断信息,与在脚本开始处使用...-i交互式输入命令,使用"exit"或"EOF"退出输入状态--标示选项结束(如果你需要传递与expect选项相似的参数给脚本时),可放到#!行:#!...需要进入到expect环境才可以执行,不能直接在shell环境下直接执行set timeout n设置超时时间,表示该脚本代码需在n秒钟内完成,如果超过,则退出。...exit退出expect脚本expect eofspawn进程结束后会向expect发送eof,接收到eof代表该进程结束interact执行完代码后保持交互状态,将控制权交给用户。

    1.2K10
    领券