码迷,mamicode.com
首页 > 系统相关 > 详细

shell脚本

时间:2018-09-13 20:18:26      阅读:186      评论:0      收藏:0      [点我收藏+]

标签:com   $0   命令   env   res   pre   targe   文件   serve   

#!/bin/bash

THIS_DIR=`cd $(dirname "$0") && pwd -LP`
$0 类似于python中的sys.argv[0]等。 $0指的是Shell本身的文件名。类似的有如果运行脚本的时候带参数,那么$1 就是第一个参数,依此类推。 
dirname 用于取指定路径所在的目录 ,如 dirname /home/ikidou 结果为 /home。 
$ 返回该命令的结果 
pwd -P 如果目录是链接时,格式:pwd -P 显示出实际路径,而非使用连接(link)路径。

ENV=$1

SRC_ROOT_DIR=$THIS_DIR
PACKAGE_NAME=‘sign-api-v2-server.war‘

DST_ROOT_DIR=$THIS_DIR
DST_DIR_NAME=‘output‘;

src_dir="${SRC_ROOT_DIR}"
src_package_file="$src_dir/target/$PACKAGE_NAME"
if [ -f $src_package_file ]; then
rm -rf $src_package_file
fi

cd $src_dir

git status
git pull

if [ ""x != "${ENV}"x ]; then
cp "${src_dir}/src/main/resources/conf/common.${ENV}.properties" "${src_dir}/src/main/resources/conf/common.properties"
fi

cd $src_dir
mvn -Dmaven.test.skip=true clean package

if [ -f $src_package_file ]; then
echo "mvn package SUCCESS!"
else
echo "RUN: mvn -Dmaven.test.skip=true clean package WRONG!"
exit
fi

dst_dir="${DST_ROOT_DIR}/${DST_DIR_NAME}"
dst_package_file="${dst_dir}/${PACKAGE_NAME}"

if [ ! -d "$dst_dir" ]; then
mkdir "$dst_dir"
fi

if [ -d $dst_dir ]; then
cp $src_package_file $dst_package_file
fi

shell脚本

标签:com   $0   命令   env   res   pre   targe   文件   serve   

原文地址:https://www.cnblogs.com/minikobe/p/9642356.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!