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来完成日常的一些工作。 #!
1.expect是linux中一个交互命令,一般在 /usr/bin/expect路径下,如果该路径未加入到环境中需要先添加,其作用场景常用于交互执行输入指令 常用命令: expect...,这里使用expect免去手动输入密码的操作 主流程脚本: #!.../bin/sh expect /home/sendUtil.sh 参数1 参数2 参数3 参数4 远程复制scp脚本: #!.../usr/bin/expect spawn sftp -oPort=16022 sftp@192.168.12.32 expect "\*assword\*" send "Password\r" expect..."\*sftp\*" send "cd /user/download\r" expect "\*sftp\*" send "get -r *\r" interact
在数据的吞吐量上远超其他,而ActiveMq由Apache推出,但是后续的维护越来越少,所以如果在非大数据领域上常用的现在推荐使用RabbitMQ和RocketMQ,具体的选型看各自选择,本文以RocketMQ来进行安装测试...安装 操作系统:Centos 7.6 所需依赖:JDK1.8 RocketMQ官网:RocketMQ RocketMQ需要依赖环境Java,所以需要安装JAVA环境,如果需要安装JDK1.8可以看这篇文章...:安装JDK1.8 下载RocketMQ安装包: wget https://archive.apache.org/dist/rocketmq/4.7.1/rocketmq-all-4.7.1-bin-release.zip...解压安装包 unzip rocketmq-all-4.7.1-bin-release.zip 挪移目录: mv rocketmq-all-4.7.1-bin-release /usr/local/rocketmq
下载源码包 执行命令安装Mongodb所需依赖 sudo yum install libcurl openssl 下载源码包,官网地址:MongoDB 我这里选择linux版本最新6.0.0的,下载命令如下...wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-6.0.0.tgz 解压 tar -zxvf mongodb-linux-x86..._64-rhel70-6.0.0.tgz 将解压包拷贝到指定目录 mv mongodb-linux-x86_64-rhel70-6.0.0 /usr/local/mongodb 2....配置环境变量 执行命令: vi /etc/profile 在最下面添加配置内容 export MONGODB_HOME=/usr/local/mongodb // mongdb安装的目录 export...安装Mongodb 创建data文件夹用于后续数据库信息保存 cd /usr/local/mongodb mkdir data 创建log文件用于保存数据库日志,这里创建的是文件,不然启动时会报错。
在Linux系统中,expect 是一款非常有用的工具,它允许用户自动化与需要用户输入进行交互的程序。本文将深入探讨expect命令的基本语法、使用方法以及一些最佳实践。...linux-expect.jpg 什么是Expect命令? expect 是一个用于自动化交互式进程的工具。它的主要功能是根据程序的输出模式(patterns)发送输入,从而实现自动化交互。...安装Expect命令 Ubuntu(apt) sudo apt-get update # 更新软件包列表 sudo apt-get install expect # 安装软件包 CentOS(yum...安装和配置软件 在安装过程中,有些软件可能需要用户输入配置信息,例如数据库密码、管理员用户名等。使用 expect 可以自动填写这些信息,使软件安装过程自动化。...expect "$ " send "ls\n" expect "$ " send "exit\n" 脚本执行过程如下 _20231202223700.jpg 总结 expect命令是Linux系统中一个非常实用的工具
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.../configure [root@xw4 unix]# make && make install (2)安装expect [root@xw4 src]# tar -zvxf expect-5.43.0....-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
在线安装 # 下载NGINX: yum install nginx # 启动nginx: systemctl start nginx # 停止unginx: systemctl stop nginx.../xxoome/p/7256214.html】 在安装nginx前首先要确认系统中安装了gcc、pcre-devel、zlib-devel、openssl-devel。...Linux下检查是否安装过某软件包:http://www.cnblogs.com/xxoome/p/5866553.html 安装命令: yum -y install gcc pcre-devel zlib-devel...openssl openssl-devel 下载Nginx https://nginx.org/download/ 上传至linux 解压tar -zxvf nginx-1.9.8.tar.gz...# cd到刚才配置的安装目录 cd /usr/loca/nginx/ .
expect 自动交互流程: spawn 启动指定命令 > expect 获取指定关键字 > send 发送指定字符串 > 执行完成退出。...注意 expect 脚本能够执行需要提前安装 expect,一般系统默认没有此命令。...-v 显示 expect 版本信息。 4.子命令 expect 使用 TCL(Tool Command Language)。...} "password" { send "root\n" } } expect eof ---- 参考文献 expect(1) - Linux manual page - man7.org...expect - 自动交互脚本
安装 expect expect是一个自动化交互套件,主要应用于执行命令和程序时,系统以交互形式要求输入指定字符串,实现交互通信。...expect自动交互流程: spawn启动指定进程 expect获取指定关键字 send向指定程序发送指定字符 执行完成退出. 注意该脚本能够执行的前提是安装了 expect。...所以首先需要完成安装,安装很简单,直接使用 yum 进行安装。...expect 依赖于 tcl,需先安装 tcl 使用 yum list tcl 获取列表,再通过 yum install tcl.x86_64 接着安装 expect,yum install expect...Copyright: 采用 知识共享署名4.0 国际许可协议进行许可 Links: https://lixj.fun/archives/about-linux-expect
,保证那边集群产生了问题也不会影响到私有镜像仓库,但是我们也是实验的场景,可以选择安装在k8s资源足够的集群上。...更新软件包 yum -y install yum-utils device-mapper-persistent-data lvm2 ---- 安装docker(如果在k8s集群上安装就不需要,已经安装了....163.com/.help/CentOS7-Base-163.repo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux...docker-ce-18.09.8 # 安装指定版本,根据生产环境自行选择 ---- 安装docker-compose 使用docker compose可以一键安装Harbor,但是要做高可用的仓库还是手工部署.../install.sh 等待安装完成 如下图安装完成 ---- 验证Harbor 安装完成后访问https://服务器ip地址,访问的时候会有一个警告,点击高级选择忽略继续访问即可,然后就到了我们的
安装JDK11 1.1 下载安装包 在opt目录下下载安装包 cd /opt/ wget https://repo.huaweicloud.com/openjdk/11.0.1/openjdk-11.0.1..._linux-x64_bin.tar.gz tar -zxvf openjdk-11.0.1_linux-x64_bin.tar.gz 1.2 确认环境中是否存在java 执行java -version...确认是否安装了java 检查是否有相关的rpm包 rpm -qa | grep java 如果有就依次卸载包:rpm -e --nodeps "rpm名称" 1.3 配置环境变量 将解压好的jar包移动到...local/jdk-11.0.1 export CLASSPATH=$:CLASSPATH:$JAVA_HOME/lib/ export PATH=$PATH:$JAVA_HOME/bin 1.4 确认安装结果...执行命令: source /etc/profile java -version 效果如下图即为安装成功
wget https://www.python.org/ftp/python/3.7.1/Python-3.7.1.tgz 如果出现 找不到wget命令,输入yum -y install wget,安装其依赖将会被安装...安装Python3 3.1 解压压缩包 tar -zxvf Python-3.7.1.tgz 3.2 解压后出现对应文件夹 3.3 安装gcc依赖,需要确认时输入y yum install gcc 3.4... 在3.7版本之后需要一个新的包libffi-devel,如下安装 yum install libffi-devel -y 3.5 进入解压的文件夹 cd Python-3.7.1 3.6 创建目录...mkdir /usr/local/python3 3.7 生成编译脚本并指定上面创建目录为安装目录 ..../configure --prefix=/usr/local/python3 3.8 安装完成后编译,执行命令 make 等待编译完成 如上图编译完成后进行安装,命令: make install
安装JDK 1. 新建目录 mkdir /usr/local/java cd /usr/local/java/ 2....accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64...下载完成后添加执行权限 chmod +x jdk-8u131-linux-x64.rpm 4. rpm执行安装 rpm -ivh jdk-8u131-linux-x64.rpm 如下图则安装成功,还需要配置环境变量
在做日志分析工具时,发现在屏幕上拿到日志结果会有点慢,然后查了一下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时间(秒)
在服务器开发中,有时候需要同步文件(scp),远程服务器(ssh)等等,难免要进行密码的检验,这就麻烦了,不过认识expect就有解决方案啦,那么我们来认识一下吧~~~ ---- ****expect简介...**** expect是Linux脚本编程工具语言,用来实现自动和交互式任务进行通信,从而不用手动处理。...---- ****expect安装**** $sudo apt-get install expect ---- ****简单使用**** #!...--------expect结束---------- ---- Linux运维基础且常用命令 Linux之crontab定时任务 Linux之sed文本处理命令 Linux之ps进程查看命令 Linux...之expect交互语言命令 Linux之tail命令 ----
Centos下在线安装Node.js Linux下在线安装Node.js 查看有哪些版本 dnf module list nodejs 安装nodejs 14 dnf module install...nodejs:14 验证是否安装成功 node -v 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。
.el7.x86_64.rpm yum-3.4.3-132.el7.centos.0.1.noarch.rpm python-iniparse-0.4-9.el7.noarch.rpm 第三步:安装...python-iniparse rpm -ivh python-iniparse-0.4-9.el7.noarch.rpm 第四步:安装 yum rpm -ivh –force yum-3.4.3-...noarch.rpm yum-metadata-parser-1.1.4-10.el7.x86_64.rpm yum-plugin-fastestmirror-1.1.31-34.el7.noarch.rpm 安装完成后
昨天被分配给公司安装 minDoc 水文记录一下安装的过程 MinDoc 是一款针对IT团队开发的简单好用的文档管理系统。 MinDoc 的前身是 SmartWiki 文档系统。...下载 我是从 https://github.com/lifei6671/mindoc/releases 下载最新版的可执行文件,一般文件名为 mindoc_linux_amd.tar.gz 或mindoc_linux_amd64...安装 配置完成后变可以安装了 # 需要回到 minDoc 根目录 cd ../ # 执行如下命令,用于初始化数据库 ....说明安装成功,这时会自动创建一个超级管理员账号:admin 密码:123456 运行并安装服务 安装完成后需要先授予权限并安装服务 chmod +x mindoc_linux_amd64 && ....这样就安装完毕了.直接使用了 ?
我本机又安装了太多东西扛不住了,本来在k8s集群中搞了一个,但是端口能通用redis客户端却无法连接,时间紧急还是先安装一个linux的吧。...安装redis 下载安装包 下载redis安装包 wget http://download.redis.io/releases/redis-4.0.8.tar.gz 解压安装包 解压安装包到当前目录 tar...xzvf redis-4.0.8.tar.gz 移动到解压目录 cd redis-4.0.8 安装 执行以下命令安装redis make cd src make install PREFIX=/usr
Expect是一个用来处理交互的工具,通常用于需要手动输入数据的场景,可在脚本中使用expect来实现自动化。 # 一、安装 首先查看系统中是否有安装expect。...whereis expect Expect工具是依赖tcl的,所以也需要安装tcl。...首先下载并安装tcl,这里安装8.4.19版本 # wget https://sourceforge.net/projects/tcl/files/Tcl/8.4.19/tcl8.4.19-src.tar.gz.../configure # make # make install 然后下载expect并安装。...安装完成之后运行expect命令,查看是否安装成功。 基本操作 Expect脚本中常用的命令包括spawn, expect, send, interact等。
领取专属 10元无门槛券
手把手带您无忧上云