首页
学习
活动
专区
工具
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.5K20

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.2K50
您找到你想要的搜索结果了吗?
是的
没有找到

# 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系统中一个非常实用的工具

18810

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.2K41

Linux安装jdk

1、下载 这篇博客就以jdk-8u311-linux-x64.tar.gz为例, 你下载的文件可能不是这个版本,这没关系,只要后缀(.tar.gz)一致即可。  ...2、安装 2.1 上传jdk的安装文件到指定文件夹 使用 rz 命令把jdk-8u311-linux-x64.tar.gz上传到服务器。 注:使用rz前记得把 lrzsz 下载了。...2.2 解压到指定文件夹 tar -zxvf jdk-8u151-linux-x64.tar.gz -C /usr/local 注1:在解压的时候 -C 是解压到指定目录,一定要加-C参数,而且区分大小写的...,-_- 555555555555555,“很痛的很痛的很痛的领悟” 注2:&&可将多条命令合成一行 cd /usr/local/mytools && tar -zxvf jdk-8u151-linux-x64...vim /etc/profile  打开配置文件并在文件的最后添加如下内容(注意:=两边没有空格) export JAVA_HOME=/usr/local/jdk1.8.0_151 #你的jdk安装位置

3.9K30

Linux 安装MySQL

RPM:全称为 Red-Hat Package Manager,RPM软件包管理器,是红帽Linux用于管理和安装软件的工具。 1、安装 首先我们要 检测当前系统是否安装过MySQL相关数据库。...需要通过rpm相关指令,来查询当前系统是否存在已安装的mysql软件包,执行指令如下: rpm -qa 查询当前系统安装的所有软件 rpm -qa | grep mysql 查询当前系统安装的名称带...mysql的软件 rpm -qa | grep mariadb 查询当前系统安装的名称带mariadb的软件 通过rpm -qa 查询到系统通过rpm安装的所有软件,太多了,不方便查看,所以我们可以通过管道符...通过查询,我们发现在当前系统存在mariadb数据库,是CentOS7自带的,而这个数据库和MySQL数据库是冲突的,所以要想保证MySQL成功安装,需要卸载mariadb数据库。...那实际上,对于rpm安装的mysql,在mysql第一次启动时,会自动帮我们生成root用户的访问密码,并且输出在mysql的日志文件 /var/log/mysqld.log,我们可以查看这份日志文件

3.8K10

linux 安装JDK

一般公司差不多所有的服务器都是搭建在Linux上面的,所以这就免不了,(要是使用Java语言)要在Linux上面布一套JDK也就是Java虚拟机环境。...下面,我具体说一下安装过程,以及可能出现的问题。 首先你要把Linux拷贝到你的Linux系统文件夹。 2:如果你的JDK是压缩文件,你就要在Linux下执行命令 ....如果在Linux不让你进行解压缩,你就执行命令 chmod u+x  JDK(给它赋予权限) 3:配置环境变量:执行命令 vi  /etc/profile 设置环境变量,在文件增加以下部分 JAVA_HOME...=/usr/local/JDK(你安装到什么地方你就具体写什么路径) PATH=....:$JAVA_HOME/bin:$PATH    最后:wq保存并推出 最后执行source    /etc/profile 文件生效 4:输入Java -version 发现你安装的jdk版本 ,说明已经安装成功了

4.1K40
领券