shell脚本

Posted minikobe

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell脚本相关的知识,希望对你有一定的参考价值。

#!/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脚本的主要内容,如果未能解决你的问题,请参考以下文章

用于确保在任何给定时间仅运行一个 shell 脚本的 shell 片段 [重复]

常用python日期日志获取内容循环的代码片段

shell脚本引用expect

Shell脚本切割日志

Eclipse 中的通用代码片段或模板

Python如何调用别人写好的脚本