zoukankan      html  css  js  c++  java
  • Shell中根据svn是否有待更新的版本去决定是执行maven打包

    1- svn 更新判断代码

    本着学习的目的,这里使用了两种获取version的方法。

        localVersion=$(svn info -R | grep "Revision:" | sort -k 2 -nr | head -n 1 | awk -F ' ' 'NR==1 {print $2}')
        serverUrl=$(svn info |grep "^URL:" | awk '{print $2}')
        serverVersion=$(svn info ${serverUrl} |grep "Last Changed Rev:" |awk '{print $4}')
        if test ${serverVersion} -gt ${localVersion}
        then
            svn update
            mvn clean package -DskipTests
            cd ${moduleName}/target/
            cp -f ${jarName} ${appHome}/jar/
        fi

    2- 解释

    • sort
      svn info -R 递归查出所有文件的info信息
      sort -k 2 是以第二列排序
      sort -t : 是指定以“:”为列分隔符
      sort -nr: n是指以数字排序,默认是以字符排序的,那样的话,10会在2的前面,因为1大于2,-r (reverse)是以倒序排序。
     
    •  awk

      -F 指定分隔符

      NR==1 指定行号为1

      print $2 打印NR行2列的内容

     
     
  • 相关阅读:
    fidller 打断点
    随笔
    HTML标签介绍
    补充9.27----9.28
    html5_______9.26
    9.14
    9.13笔记
    9.12笔记
    CSS样式的引用
    html5_______9.10
  • 原文地址:https://www.cnblogs.com/chaos-x/p/11388141.html
Copyright © 2011-2022 走看看