版权声明:本文为博主原创文章,如需转载请注明原文出处: https://blog.csdn.net/u010979642/article/details/90752556
配置说明
修改脚本 run.sh 中的 workSpace
、 jarName
以及 projectName
变量值, 具体修改说明请参见变量注释说明
命令说明
脚本源码
run.sh
#!/usr/bin/env bash
:<<describle
project startup script
author: Answer.AI.L
datetime: 2019-6-3
describle
# 工作空间, 项目jar包及启动脚本run.sh 所在的目录
workSpace="/home/ubuntu/aal-answer"
# 项目 jar 包名称
jarName="aal-answer-0.0.1-SNAPSHOT.jar"
# 项目名称
projectName="aal-answer"
jarPath="${workSpace}/${jarName}"
# 定义一个字典
declare -A modes
modes=([up]='up' [down]='down' [restart]='restart' [status]='status')
MODE=$1
if [ -z "${MODE}" ];then
echo "start mode can not be empty."
echo "Format: bash run.sh up | down | restart | status"
exit 1
fi
if [ -z "${modes[$MODE]}" ]; then
echo "不存在选项: [${MODE}]"
echo "Format: bash run.sh up | down | restart | status"
exit 1
fi
pid=`ps -ef | grep ${jarName} | grep -v "grep" | awk '{print $2}'`
if [ ${MODE} == "up" ]; then
if [ -z ${pid} ];then
java -jar ${jarPath} &
else
echo -e "\nservice ${projectName} is already running.\n"
fi
elif [ ${MODE} == "down" ]; then
if [ -z ${pid} ];then
echo -e "\nservice ${projectName} is not running.\n"
else
kill -9 ${pid}
echo -e "\nstop service: "$?"\n"
fi
elif [ ${MODE} == "restart" ]; then
if [ -n ${pid} ];then
kill -9 ${pid}
fi
java -jar ${jarName} &
elif [ ${MODE} == "status" ]; then
if [ -z ${pid} ];then
echo -e "\nservice ${projectName} is not running.\n"
else
echo -e "\nservice ${projectName} is running and pid: ${pid}.\n"
fi
else
echo "mode:${MODE} is invalid."
exit 1
fi
echo -e "####### operate ${projectName} ${MODE} end. #######\n"
exit 0
脚本源码 github 地址
: 《run.sh》