文档章节

linux shell 嵌套expect 与服务器交互脚本

KongFanhao
 KongFanhao
发布于 2016/11/11 15:47
字数 281
阅读 85
收藏 2
点赞 0
评论 0

我们与服务器进行交互是该用expect 脚本的,用 “/usr/bin/expect <<-EOF” 来开启expect 脚本

用spawn 来开启一个新的进程 expect 来接受命令,send来发送交互命令 结束用 EOF来over expect脚本

废话不多说直接上脚本,注释已经很清晰了:

#!/bin/bash

# 进入项目目录 将项目打包
cd /home/kfh/git/JusSpiderV2.0/
mvn install
cd /home/kfh/git/JusSpiderV2.0/target

# 嵌套expect脚本与服务器进行交互
/usr/bin/expect <<-EOF
# 将项目scp到服务器上
spawn scp jusspider-1.0-RELEASE.tar.gz root@192.168.15.45:~  
set timeout 30
expect {
"*password:" { send "*********\r"}
}
# 等expect 出现100% 然后进行下面的操作
expect 100%
expect eof ;
# ssh 新开启一个spawn 登录服务器
spawn ssh root@192.168.15.45
expect "*password:"
send "911GongGexy\r"

#mv tar to yunnan
expect "*#"
send "mv -f jusspider-1.0-RELEASE.tar.gz /usr/java/gongshang/yunnan/\r"

# 进入tar.gz所在目录 将其解压
send "cd /usr/java/gongshang/yunnan/\r"
send "rm -rf jusspider-1.0-RELEASE\r"
send "ls\r"
send "tar zxvf jusspider-1.0-RELEASE.tar.gz\r"
send "exit\r"
expect eof
EOF

 

 

© 著作权归作者所有

共有 人打赏支持
KongFanhao
粉丝 5
博文 75
码字总数 42265
作品 0
海淀
程序员
教会你Linux Shell自动交互的三种方法

你了解Linux系统么?你是Linux系统的应用者么?如果你要学习linux,你可能会遇到Linux Shell自动交互问题,这里将介绍Linux Shell自动交互的解决方法,在这里拿出来和大家分享一下。 一、背景...

魏邪乎 ⋅ 2014/02/13 ⋅ 0

linux 远程自动化部署

#!/usr/bin/expect -f set timeout 60set f [open ./ip r]while { [gets $f line ] >=0 } { set ip [lindex $line 0] #echo "开始启动$ip的服务" spawn scp push.war jeeker@$ip:/home/jeeke......

kongjun ⋅ 2016/01/08 ⋅ 2

linux免交互登陆远程主机并执行命令(密钥对和Expect)

1. SSH无密码认证方式 客户端使用ssh-keygen生成密钥对,将公钥复制到服务端(authorized_keys),SSH提供公钥登陆,当SSH访问服务端时,服务端先在本机寻找客户端的公钥,然后把客户端发来的...

qq5805bc784f826 ⋅ 06/20 ⋅ 0

使用expect实现shell自动交互

shell脚本需要交互的地方可以使用here文档是实现,但是有些命令却需要用户手动去就交互如passwd、scp。对自动部署免去用户交互很痛苦,expect能很好的解决这类问题。 expect的核心是spawn e...

renwofei423 ⋅ 2014/03/13 ⋅ 0

expect使用详解

linux expect的使用详解 一、概述   我们通过Shell可以实现简单的控制流功能,如:循环、判断等。但是对于需要交互的场合则必须通过人工来干预,有时候我们可能会需要实现和交互程序如tel...

临峰不畏 ⋅ 2015/10/31 ⋅ 0

Linux expect 用法

用法 1. [#!/usr/bin/expect] 这一行告诉操作系统脚本里的代码使用那一个shell来执行。这里的expect其实和Linux下的bash、windows下的cmd是一类东西。 注意:这一行需要在脚本的第一行。 ...

leonardos ⋅ 2017/05/24 ⋅ 0

expect实现自动交互由浅入深

expect实现自动交互由浅入深 作为运维人员可以通过Shell可以实现简单的控制流功能,如:循环、判断等。但是对于需要交互的场合则必须通过人工来干预,有时候我们可能会需要实现和交互程序如t...

JAYZ_HAO ⋅ 2017/10/14 ⋅ 0

Linux运维Expect介绍 Linux云计算学习

  Expect是基于Tcl的相对简单的一个免费的脚本程序工具语言,是一个用来实现自动化交互功能的软件套件。比如SSH、FTP等,这些程序正常情况都需要手工与其交互,而使用Expect就可以模拟人工...

zhouzhou2018 ⋅ 05/22 ⋅ 0

linux expect详解(ssh自动登录)

shell脚本实现ssh自动登录远程服务器示例: #!/usr/bin/expectspawn ssh root@192.168.22.194expect "password:"send "123r"expect "#"interact Expect是一个用来处理交互的命令。借助Expect,...

独钓渔 ⋅ 2016/03/31 ⋅ 0

expect spawn、linux expect 用法小记

使用expect实现自动登录的脚本,网上有很多,可是都没有一个明白的说明,初学者一般都是照抄、收藏。可是为什么要这么写却不知其然。本文用一个最短的例子说明脚本的原理。  脚本代码如下:...

双叶天下 ⋅ 2014/02/19 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Linux中的端口大全

1 被LANA定义的端口 端口 名称 描述 1 tcpmux TCP 端口服务多路复用 5 rje 远程作业入口 7 echo Echo 服务 9 discard 用于连接测试的空服务 11 systat 用于列举连接了的端口的系统状态 13 d...

寰宇01 ⋅ 22分钟前 ⋅ 0

Confluence 6 如何备份存储文件和页面信息

备份的 ZIP 文件包含有 entities.xml,这个 XML 文件包含有 Confluence 的所有页面内容和存储附件的目录。 备份 Zip 文件结构 页面的附件是存储在附件存储目录中的,通过页面和附件 ID 进行识...

honeymose ⋅ 24分钟前 ⋅ 0

【每天一个JQuery特效】根据状态确定是否滑入或滑出被选元素

主要效果: 本文主要采用slideToggle()方法实现以一行代码同时实现以展开或收缩的方式显示或隐藏被选元素。 主要代码如下: <!DOCTYPE html><html><head><meta charset="UTF-8">...

Rhymo-Wu ⋅ 28分钟前 ⋅ 0

度量.net framework 迁移到.net core的工作量

把现有的.net framework程序迁移到.net core上,是一个非常复杂的工作,特别是一些API在两个平台上还不能同时支持。两个类库的差异性,通过人工很难识别全。好在微软的工程师们考虑到了我们顾...

李朝强 ⋅ 34分钟前 ⋅ 0

请不要在“微服务”的狂热中迷失自我!

微服务在过去几年一直是一个非常热门的话题(附录1)。何为“微服务的疯狂”,举个例子: 众所周知,Netflix在DevOps上的表现非常棒。Netfix可以做微服务。因此:如果我做微服务,我也将非常...

harries ⋅ 35分钟前 ⋅ 0

oAuth2 升级Spring Cloud Finchley.RELEASE踩坑分享

背景 6.19号,spring团队发布了期待已久的 Spring Cloud Finchley.RELEASE 版本。 重要变化: 基于Spring Boot 2.0.X 不兼容 Spring Boot 1.5.X 期间踩过几个坑,分享出来给大伙,主要是关于...

冷冷gg ⋅ 今天 ⋅ 0

OSChina 周一乱弹 —— 理发师小姐姐的魔法

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @冰冰棒- :分享田馥甄的单曲《My Love》 《My Love》- 田馥甄 手机党少年们想听歌,请使劲儿戳(这里) @Li-Wang :哎,头发又长了。。。又要...

小小编辑 ⋅ 今天 ⋅ 9

Kafka1.0.X_消费者API详解2

偏移量由消费者管理 kafka Consumer Api还提供了自己存储offset的功能,将offset和data做到原子性,可以让消费具有Exactly Once 的语义,比kafka默认的At-least Once更强大 消费者从指定分区...

特拉仔 ⋅ 今天 ⋅ 0

NEO智能合约之发布和升级(二)

接NEO智能合约之发布和升级(一),我们接下来说说智能合约的升级功能。 一 准备工作 合约的升级需要在合约内预先设置好升级接口,以方便在升级时调用。接下来我们对NEO智能合约之发布和升级...

红烧飞鱼 ⋅ 今天 ⋅ 0

个人博客的运营模式能否学习TMALL天猫质量为上?

心情随笔|个人博客的运营模式能否学习TMALL天猫质量为上? 中国的互联网已经发展了很多年了,记得在十年前,个人博客十分流行,大量的人都在写博客,而且质量还不错,很多高质量的文章都是在...

原创小博客 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部