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

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

# Linux expect命令详解

Linux系统中,expect 是一款非常有用的工具,它允许用户自动化与需要用户输入进行交互的程序。本文将深入探讨expect命令的基本语法、使用方法以及一些最佳实践。...linux-expect.jpg 什么是Expect命令? expect 是一个用于自动化交互式进程的工具。它的主要功能是根据程序的输出模式(patterns)发送输入,从而实现自动化交互。...基本语法及用法示例 expect命令的基本语法如下: expect [选项] [脚本] 其中,选项 可以包括 -c(直接指定脚本)、-d(启用调试输出)、-v(打印版本信息)等。...用法示例 以下是一个scp进行文件传输时,expect 自动提供密码的示例命令 expect -c ' spawn sh -c "scp -r /var/jenkins_home/workspace...expect "$ " send "ls\n" expect "$ " send "exit\n" 脚本执行过程如下 _20231202223700.jpg 总结 expect命令是Linux系统中一个非常实用的工具

18810

Linux 命令(239)—— expect 命令

如 RedHat 系列平台: yum install -y expect 2.命令格式 expect [ -dDinN ] [ -c cmds ] [ [ -[f|b] ] cmdfile ] [ args...如果值非零或按下^C(或击中断点,或脚本中出现其他适当的调试器命令),调试器将在下一个 Tcl(Tool Command Language) 过程之前接管控制。...-N 不使用 $exp_library/expect.rc 脚本。 -c 指定要执行的 expect 命令。命令应该加引号,以防止被 Shell 分解。...此选项可使用多次或用一个 -c 选项指定多个命令,命令之间用分号分隔。命令按照它们出现的顺序执行。 -f 从文件读取命令,仅用于使用#!时。如果文件名为"-",则从stdin读取(使用"....} "password" { send "root\n" } } expect eof ---- 参考文献 expect(1) - Linux manual page - man7.org

1.9K60

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实现自动登录脚本实例代码

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
领券