expect写法

/usr/bin/expect <<-EOF
set timeout 3000
spawn ssh root@${server_ip}
expect {
"password:" { send "1234\n" }
"root@" { send "ps aux | grep \"pzx-3.0.0.jar --spring.profiles.active=${version}\" | awk '{print $2}' |xargs kill -9" }
"root@" { send "cd ${java_path}" }
"root@" { send "nohup java -jar ${java_path}/pzx-3.0.0.jar --spring.profiles.active=${version} --pzxmq.consumer=true --pzx.myUtils.hostId=1 >/dev/null 2>&1 &" }
}
expect interact
EOF

虽然很帅的写法,然而并不如直接执行服务器脚本来的实在。

expect在bash中不能使用星号

目前还不知道如何转义,在上传文件的时候,很不方便。

/usr/bin/expect <<-EOF
set timeout 3000
spawn scp -r ${basepath}/pzx_vue2/dist_cn/ root@${server_ip}:${html_path}_cn
expect "password:" { send "1234\n" }
expect interact
EOF

解决的方法是把 scp 写到另一个 #!/bin/expect 的文件。

Bash笔记的更多相关文章

  1. linux bash 笔记

    Bash的简单使用笔记: 1- 命令行参数(调用脚本后面跟的参数) 2- 命令行选项(修改命令行为的单字符串) 3- 获取键盘输入 4- 读文件 5- 函数 1.命令行参数(调用脚本后面跟的参数) x ...

  2. Linux bash笔记

    关于bash脚本,一般开头都加#!/bin/bash,表示以bash来作为脚本解释器:如果不加的话,就会默认当前用户登陆的shell为脚本解释器(很多情况下为sh,sh与bash不同,有可能导致脚本无 ...

  3. Bash 笔记

    获取当前工作目录 basepath=$(cd `dirname $0`; pwd) 源文 : https://sexywp.com/bash-how-to-get-the-basepath-of-cu ...

  4. Learning The Bash Shell读书笔记(整理)

    最近搞了一本书 Learning Bash Shell,发现有人已经写了阅读笔记,我就在这边整理一下 来自blog:http://blog.sina.com.cn/n4mine Learning Th ...

  5. 跟着鸟哥学Linux系列笔记3-第11章BASH学习

    跟着鸟哥学Linux系列笔记0-扫盲之概念 跟着鸟哥学Linux系列笔记0-如何解决问题 跟着鸟哥学Linux系列笔记1 跟着鸟哥学Linux系列笔记2-第10章VIM学习 认识与学习bash 1. ...

  6. Bash shell 笔记总结(一) 转自http://www.bubuko.com/infodetail-509992.html,谢谢原作者

    本文是上课笔记总结,涉及细节知识点会在以后文章说明! bash脚本编程: 脚本程序:解释器解释执行: shell: 交互式接口:编程环境: shell: 能够提供一些内部命令,并且能通过PATH环境变 ...

  7. 《Linux命令行与shell脚本编程大全》- 读书笔记1 - 基本的bash shell 命令

    这本书买了好久了,除了刚到手的那几天翻看了一下以外,竟然到今天都没有看过.突然想要写一个shell脚本,发现什么也不会,是时候开始学习了,今天先把最简单的一章再看一遍顺便做一些笔记,明天继续后面的! ...

  8. [转帖][Bash Shell] Shell学习笔记

    [Bash Shell] Shell学习笔记 http://www.cnblogs.com/maybe2030/p/5022595.html  阅读目录 编译型语言 解释型语言 5.1 作为可执行程序 ...

  9. bash&nbsp;shell笔记1&nbsp;脚本基础知识

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://twentyfour.blog.51cto.com/945260/505644 * ...

随机推荐

  1. 洗礼灵魂,修炼python(16)--列表进阶话题—>上节作业讲解+copy模块,浅拷贝,深拷贝

    上节课后作业: 1.使用列表解析输出结果:[(0,0),(0,2),(2,0),(2,2)] 方法1: 方法2: 方法3: 2.使用列表生成器打印斐波那契数列 3.使用列表解析生成列表[1x2,3x4 ...

  2. python第四十二天 socket ---ssh

    用scoket 写一个简版的ssh 服务端: #!usr/bin/env python #-*-coding:utf-8-*- # Author calmyan import socket,os s= ...

  3. ORM查询之基于对象的正向查询与反向查询

    一.为什么有正向查询和反向查询? 举例有两张表,一张表叫书籍表,一张表叫出版社表,他们关系是一对多的关系,书籍是多,出版社是一,因为一本书应该只有一个出版社对应,而出版社可以有多本书对应. 那么在实际 ...

  4. Conjob For hybris

    1.Defining the Job 写conjob的逻辑:core包下当做service层(要继承AbstractJobPerformable<CronJobModel>) public ...

  5. MyCat原理及分布式分库分表

    1.什么是MyCat:  MyCat是一个开源的分布式数据库系统,是一个实现了MySQL协议的服务器,前端用户可以把它看作是一个数据库代理,用MySQL客户端工具和命令行访问,而其后端可以用MySQL ...

  6. 对数组的操作splice() 和slice() 用法和区别

    JavaScript splice() 方法 定义和用法 splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目. 注释:该方法会改变原始数组. 语法 arrayObject.spli ...

  7. MongoDB修改与聚合二

    1.修改方法 一 语法 里面有三个大的语句:一个是查询条件:一个是修改字段:一个是其他参数(目前就有两个) db.table.update( 条件, 修改字段, 其他参数 ) update db1.t ...

  8. 深入浅出RxJava(三:响应式的好处)

    在第一篇中,我介绍了RxJava的基础知识.第二篇中,我向你展示了操作符的强大.但是你可能仍然没被说服.这篇里面,我讲向你展示RxJava的其他的一些好处,相信这篇足够让你去使用Rxjava. 错误处 ...

  9. eclipse 自动创建web.xml

    eclipse 自动创建web.xml 以前每次创建web项目的时候,总是从其他的项目中拷贝一个web.xml文件到新项目,然后改吧改吧就可以了,但是这终究是一件麻烦的事,要是能够通过软件自动创建,那 ...

  10. 项目Alpha冲刺(团队)-第六天冲刺

    格式描述 课程名称:软件工程1916|W(福州大学) 作业要求:项目Alpha冲刺(团队)-代码规范.冲刺任务与计划 团队名称:为了交项目干杯 作业目标:描述第六天冲刺的项目进展.问题困难.心得体会 ...