首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

linux expect的timeout设定

在做日志分析工具时,发现在屏幕上拿到日志结果会有点慢,然后查了一下expect ssh timeout的设置,原来是这里有个默认时间的问题,所以整理一下: expect脚本我们都知道,首先spawn我们要执行的命令...,然后就给出一堆expect的屏幕输出,如果输出match了我们的expect的东西,我们就会send一个命令上去,模拟用户输入。...但是expect中等待命令的输出信息是有一个timeout的设定的,默认是10秒。这个特性是防止那些执行死机的命令的。...一旦到了这个timeout,还是没有屏幕输出的话,expect脚本中下面的代码就会执行。或者我们在expect脚本如果定义了timeout的响应代码的话,这些代码就会被执行。 ...解决这样的问题非常简单,最简单的办法就是在expect脚本的开头定义:  set timeout -1 -- 没有timeout set timeout XX -- 设定具体的timeout时间(秒)

3.8K20

Linux expect详解

Linux expect详解 2018-07-11 分类:Linux Shell / 系统运维 / 编程开发 阅读(6670) 评论(0)  随处可见的expect 第一次见expect这个命令还是我第一次参加全量上线的时候...先抛出一个问题 现在有两台Linux主机A和B,如何从A主机ssh到B主机,然后在B主机上执行命令,如何使这个过程实现全程自动化?...传参 很多时候,我们需要传递参数到脚本,现在通过下面这段代码来看看如何在expect中使用参数: #!..."*password*" {send "$password\r"} interact 在expect,\$argc表示参数个数,而参数值存放在$argv,比如取第一个参数就是[lindex $argv...总结 能够在工作熟练的使用Shell脚本就可以很大程度的提高工作效率,如果再搭配上expect,那么很多工作都可以自动化进行,对工作的展开如虎添翼。

3.3K50
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    # Linux expect命令详解

    Linux系统expect 是一款非常有用的工具,它允许用户自动化与需要用户输入进行交互的程序。本文将深入探讨expect命令的基本语法、使用方法以及一些最佳实践。...linux-expect.jpg 什么是Expect命令? expect 是一个用于自动化交互式进程的工具。它的主要功能是根据程序的输出模式(patterns)发送输入,从而实现自动化交互。...自动化测试 在测试环境expect 可以用于自动化测试,模拟用户的输入和操作。这有助于确保程序在各种情况下的正确性。...自动化配置工具 与配置管理工具结合使用,可以编写 expect 脚本以在大规模环境自动配置系统参数、安装软件或进行其他配置任务。...expect "$ " send "ls\n" expect "$ " send "exit\n" 脚本执行过程如下 _20231202223700.jpg 总结 expect命令是Linux系统中一个非常实用的工具

    38310

    Linux expect实现自动登录脚本实例代码

    expect expect可以让我们实现自动登录远程机器,并且可以实现自动远程执行命令。当然若是使用不带密码的密钥验证同样可以实现自动登录和自动远程执行命令。...所以,这时候只要知道对方机器的账号和密码就可以通过expect脚本实现登录和远程命令。.../usr/bin/expect spawn ssh xxx@xxxxxx expect "*password:" send "密码\r" interact 再将【..../login.sh】配置别名alias,或移动到可执行目录,即可实现【login】一键登录; expect是一个处理交互的指令,通过expect我们可以把交互过程写到Shell脚本里以实现一些自动化操作...~ expect有四个核心的指令: spawn:启动新进程,后跟新进程要执行的指令; expect:指定要监听的字符串,如果spawn进程返回了匹配的字符串(如标准输入的提示信息),则触发send; send

    2.3K41

    expect java,Expect 使用详解「建议收藏」

    第1章 expect 概括 expect 期待 expect是Unix系统中用来进行自动化控制和测试的软件工具,由Don Libes制作,作为Tcl脚本语言的一个扩展,应用在交互式软件如telnet...shell脚本的变量需要对于expect的变量. 2.1 使用例子 2.2 首先安装expect [shell] Centos OS yum 安装 yum install -y expect Ubuntu...set date [lindex $argv 0] # expect脚本可以接受从shell 脚本传递过来的参数.可以使用n从0开始,分别表示第一个,第二个,第三个….参数 set password...shell命令、其中date 是加的shell脚本的时间变量 expect { “yes/no” {send “yes\r”;exp_continue} #行交互动作,与手工输入密码的动作等效。...、传送中断开,因为expect默认timeout为30S 手动添加set timeout -1设置超时时间为无穷大,问题解决 在expect 脚本添加 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人

    2.9K40

    Linux 下自动应答工具 Expect 使用指南

    在第一个行,bogus 表示用户名是非法的,因此 passwd 会响应说:没有此用户。expect 在退出时会返回 3,3 恰好就是第二个域。...工具安装 源代码和下载地址都是由 Linux 软件基金会维护的(sourceforge) # 因为Expect需要Tcl编程语言的支持 $ sudo yum install -y gcc $ sudo...基础知识 主要介绍常见的 4 个命令的使用方式 我们知道,send 命令用于发送信息到进程expect 命令则是根据进程反馈的信息进行对应逻辑的交互的。..." # 将运行结果存入到变量,显示出来或者写到磁盘 set results $expect_out(buffer) # 退出telnet会话,等待服务器的退出提示EOF...欢迎投稿,投稿邮箱: editor@hi-linux.com。 ? ?

    1.7K21

    expect快速入门

    ---- expect脚本远程登录 以上简介也提到了expect和shell类似,可以进行编程,接下来就实际的编写一些expect脚本来学习expect简单的使用方式。...语法不允许行尾注释,注释需要另起一行,否则会报错 set是用来定义一个变量的,变量名后面跟的就是变量的值,不需要使用等于号来赋值,调用变量的方式和shell一样,也是使用$符号。...$ cat /tmp/12.txt 1212 [root@localhost ~]# 可以看到文件和内容与脚本执行的命令一致。.../usr/bin/expect # expect脚本拿参数的方式有点像是在数组拿元素一样,也是从0开始数,$argv是expect的一个内置变量 # 第一个参数,下标从0开始 set user [lindex...is 0.04 [root@localhost ~/expectFiles]# cat /tmp/12.txt 1212 [root@localhost ~/expectFiles]# 如果把脚本

    99720

    expect命令在linux下实现批量ssh免密

    /usr/bin/expect spawn ssh 192.168.1.241 expect "password" send "123456\r" expect "]#" {send "ls -la\.../usr/bin/expect而不是普通的bash脚本那样 spawn就是用来启动新的进程 expect “password” ,注意这个是expect脚本里面内部的命令,代表用来等待进程反馈,可以接受字符串和正则表达式...对应的我们可以使用expect eof,替代interact代表等待spawn结束后退出(在spawn进程结束后会向expect发送eof) 多分支语法 上面的这种expect属于单一分支模式,代表就匹配这一种..."} } expect "]#" {send "ls -la\r"} interact expect命令行参数 上面的expect脚本功能可能都达到了,为了避免有很多expect脚本,我更推荐使用expect...eof; " } for server in $SERVERS do sshcopyid $server done 以上就是本次介绍的expect命令在linux下实现批量ssh免密的全部过程

    2.2K21
    领券