最近几天公司要上线3.0版本了,需要将2.0版本的数据迁移到3.0数据库中,由于数据库改动非常大,所以采用了程序动态迁移数据。

一、环境

3.0项目

数据迁移项目

二、目的

用shell脚本将3.0项目的依赖全部添加到数据迁移项目中

三、原因

需要3.0项目的dao层将2.0的数据添加到数据库中

1、数据迁移项目(结构图):

2、编写shell脚本,实现动态导入

#!/bin/bashsourcePackage=E:/yg-gtu-es/gt3server-es-account-namepointPackage=C:/Users/fengy/Desktop/gt3datamover/libs/cd ${sourcePackage}gradle cleangradle buildcp ${sourcePackage}/gtmodel/build/libs/gtmodel-0.0.1-SNAPSHOT.jar ${pointPackage}cd ${pointPackage}

参数解释:

#!/bin/bash:shell脚本的表头,为了指定解析器。也可以写成 #!/bin/sh。(必须指定)

sourcePackage:源项目文件目录(“3.0项目”)

pointPackage:目标文件目录的libs文件夹(“数据迁移项目”)

cd ${sourcePackage}:先进入源项目

gradle clean:由于项目依赖管理使用gradle,所以使用gradle的命令。如果是maven,可以使用maven clean。目的都是清除之前的编译的内容。

gradle build:gradle生命周期(编译,测试,打包,部署,安装)都包含。如果是maven,则使用maven build。目的是将项目的所有依赖打包。

cp:将源项目文件的model子项目编译后的jar依赖复制到当前目录的libs文件夹下,之后在数据迁移项目中就可以使用3.0项目的API了。

cd ${pointPackage}:最终又回到目标文件。

注:有Linux命令操作经验的小伙伴,一看就明白了!

3、运行脚本

或者使用cmd进入项目运行build.sh也可以。

由于我安装了git,所以默认使用git来跑。如果跑不了,建议先安装一个git。

git下载地址:https://www.git-scm.com/download/

4、查看运行结果

5、shell脚本教程到此结束,谢谢观看!

shell脚本编写教程(基于项目)相关推荐

  1. Linux 中shell脚本编写教程

    1.文本处理工具 1.1 grep工具 Linux grep 命令用于查找文件里符合条件的字符串.  grep [选项] '关键字 文件名 grep 指令用于查找内容包含指定的范本样式的文件,如果发现 ...

  2. Linux Shell脚本入门教程系列之(一)Shell简介

    本文是Linux Shell脚本系列教程的第(一)篇,更多shell教程请看:Linux Shell脚本系列教程 想要学习linux,shell知识必不可少,今天就给大家来简单介绍下shell的基本知 ...

  3. Linux的shell脚本函数教程

    Linux的shell脚本函数教程 一.shell介绍 二.shell函数的介绍 三.函数的定义 四.shell中函数使用示例 一.shell介绍 二.shell函数的介绍 三.函数的定义 四.she ...

  4. 一个很不错的bash脚本编写教程

    一个很不错的bash脚本编写教程 建立一个脚本 Linux中有好多中不同的shell,但是通常我们使用bash (bourne again shell) 进行shell编程,因为bash是免费的并且很 ...

  5. bash 与 shell脚本编写指南

    bash 与 shell脚本编写指南 bash 与 shell脚本编写指南 bash基本命令 man与info命令 遍历目录命令 文件与目录列表命令 处理文件相关命令 处理目录命令 查看文件内容 通过 ...

  6. 2021-04-09 linux的shell脚本简单教程

    linux 的基本操作(编写shell 脚本) 如果文章中的图片再次挂掉了,麻烦请去公众号内查看  终于到shell 脚本这章了,在以前笔者卖了好多关子说shell脚本怎么怎么重要,确实shell脚本 ...

  7. shell 脚本编写 if else then

    shell 脚本编写 if else then if ....; then .... elif ....; then .... else .... fi 大多数情况下,可以使用测试命令来对条件进行测试 ...

  8. Shell awk文本处理,shell脚本编写

    Shell awk文本处理,shell脚本编写 一:内容包含awk.变量.运算符.if多分支 <a>语法糖: awk [options] 'commands' files option - ...

  9. Linux Shell脚本入门教程系列之(十六) Shell输入输出重定向

    本文是Linux Shell系列教程的第(十六)篇,更多Linux Shell教程请看:Linux Shell系列教程 Shell中的输出和输入的重定向是在使用中经常用到的一个功能,非常实用,今天就为 ...

最新文章

  1. 一文看懂Python的控制结构:for、while、if…都有了
  2. Skipping failed optional dependency /chokidar/fsevents
  3. [html] 关于<form>标签的enctype属性你有哪些了解?
  4. java http 下载文件_JAVA通过HttpURLConnection 上传和下载文件的方法
  5. SGU 222 Little Rooks
  6. python绘图库seaborn_Matplotlib Toolkits:python高级绘图库seaborn
  7. mysql 2100,MySQL 实现准实时的表级别DML计数
  8. python中 tolist_python 列表,数组,矩阵两两转换tolist()的实例
  9. STM32工作笔记0011---认识跳线帽
  10. 【Java从0到架构师】git 入门和基本应用
  11. Echart词云图自定义形状,少词显示不全,配置项相关设置
  12. 基于Java+Springboot+vue体育用品销售商城平台设计和实现
  13. PHP从入门到接到外包合同,再到放弃
  14. HashMap的七种遍历方式
  15. 股票涨跌的心理学原理: 前景理论
  16. C++面向对象(三):类和对象
  17. 数据模拟:利用Java模拟数据(姓名,邮箱,地址,电话等信息,时间,工资,1-10随机数)并存入mysql
  18. ML之ME:Best-KS分箱/KS值(分类预测问题中评价指标、数据分箱方法)的简介(KS与ROC的关系)、使用方法、案例应用之详细攻略
  19. 求二维整数数组中最大子数组的和(结对作业)
  20. 数据库课程设计--公交车管理系统总结(Qt学习小结)

热门文章

  1. Mingw编译带lib的c代码出现cannot find 错误的解决
  2. 阻塞和挂起的区别和联系
  3. php storm官网,phpstorm
  4. 华为OD面经以及上岸经验总结
  5. “下载”中“载”的发音应该读几声——计算机学生视角
  6. 阎王点赞!地府后台管理系统驾到,速来销生死簿名单!附地址
  7. 基于FPGA的DDS算法实现(可调幅值,附ISE联合Modelsim仿真结果)
  8. GNN-CS224W: 17 Scaling Up GNNs
  9. java merkle树,Java实战手写区块链中的Merkle树
  10. 机器学习中的树模型下——集成类树