Shell中根据svn是否有待更新的版本去决定是执行maven打包

mac2022-06-30  28

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列的内容

   

转载于:https://www.cnblogs.com/chaos-x/p/11388141.html

最新回复(0)