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

linux expecttimeout设定

在做日志分析工具时,发现在屏幕上拿到日志结果会有点慢,然后查了一下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.7K20

Linux expect详解

Linux expect详解 2018-07-11 分类:Linux Shell / 系统运维 / 编程开发 阅读(6670) 评论(0)  随处可见expect 第一次见expect这个命令还是我第一次参加全量上线时候...实在是看不懂这个expect命令用法,所以就找时间总结了这篇关于expect命令文章。...先抛出一个问题 现在有两台Linux主机A和B,如何从A主机ssh到B主机,然后在B主机上执行命令,如何使这个过程实现全程自动化?...这就要用到今天这篇文章总结expect了。 expect是什么? expect是一个免费编程工具,用来实现自动交互式任务,而无需人为干预。...实用代码分析 上面对expect进行了总结,特别是对一些常用命令进行了详细说明。下面就通过一些常用expect脚本来具体说明如何使用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系统中一个非常实用工具

33410

linuxexpect环境安装以及简单脚本测试

expect是交互性很强脚本语言,可以帮助运维人员实现批量管理成千上百台服务器操作,是一款很实用批量部署工具!...expect依赖于tcl,而linux系统里一般不自带安装tcl,所以需要手动安装 下载:expect-5.43.0.tar和tcl8.4.11-src.tar 下载地址:https://pan.baidu.com.../s/1kVyeLt9 提取密码:af9p 将expect和tcl软件包下载放到/usr/local/src目录下 (1)解压tcl,进入tcl解压目录,然后进入unix目录进行编译安装 [root...-5.43.0]# make && make install (3)安装完成后进行测试 [root@xw4 ~]# expect expect1.1> expect1.1> ------------...: (1) 如上expect安装路径是: [root@xw4 ~]# which expect /usr/local/bin/expect (2) 做个expect执行文件软件 [root@xw4

2.2K70

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

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

2.3K41

Here Documents 结合expect使用--(1)

$1, 以及脚本中其他变量等 使用expect 命令来解决自动交互问题是非常广泛expect有自己独特语法,可以写expect脚本来解决复杂交互问题;但是很多时候,我们会需要在shell中通过调用...expect脚本来解决交互问题;这时候就需要Here Documents 来帮忙; 在expect使用时候,需要注意如下几点: expect ... send ......语法结构使用坑,对于下面的语法结构,有时候send命令并没有成功执行,这是因为spawn产生子进程而并不知道send已经结束 expect ... send ......更好写法是: expect ... send ... expect ......也正是这个原因,所以expect一般在最后都会使用如下结构: expect eof 看如下例子: [root@localhost ~]# cat 1.sh #!

38820

linux学习第六十九篇:分发系统介绍,expect脚本远程登录,expect脚本远程执行命令,expect脚本传递参数

分发系统介绍 expect可以让我们实现自动登录远程机器,并且可以实现自动远程执行命令。当然若是使用不带密码密钥验证同样可以实现自动登录和自动远程执行命令。...但当不能使用密钥验证时候,我们就没有办法了。所以,这时候只要知道对方机器账号和密码就可以通过expect脚本实现登录和远程命令。.../usr/bin/expect set host "192.168.85.132" #要远程登录机器IP set passwd "123456" #远程登录机器密码 spawn ssh root@$...\r" expect "]*" send "echo 1212 > /tmp/12.txt\r" expect "]*" send "exit\r" expect “]*” 表示图中括号里,表示当检测到这个符号时就执行我们要执行命令...远程机器执行命令后创建文本和内容 ? expect脚本传递参数 传递参数 #!

1.6K110

Here Documents 结合expect使用--(2)

我们已经知道expect可以帮我们自动完成“交互工作”,但是如果我们需要拿到 通过expect spawnsub-process 所执行命令结果,那么怎么做呢?...,我们也是没有办法知道expect给我们提供了一个特定访问方法,那就是用 expect_out, 常用有$expect_out(buffer) 或者 $expect_out(NUMBER,...#执行上面脚本,这里忽略执行过程; #查看执行结果:localhost 文件内容是通过 脚本把$expect_out(buffer)内容保存下来结果,而exp_log文件内容是expect日志文件...log文件exp_log中可以看到: 第一次调用expect匹配到第2行assword,匹配字符串之后字符是冒号; 第二次调用expect,是从第2行冒号开始进行匹配,一直到第4行,发现了匹配字符串...,看看$expect_out(buffer)结果: #把上面脚本第10行内容修改为:expect "#]" 就可以了; #运行脚本,并查看结果 [root@instance-6p8qz002 ~

84910
领券