shell脚本

项目启动

脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#!/bin/bash
#启动MySpringBootApp服务
SERVICE_NAME=jian-shi
PATH_TO_JAR=/root/桌面/项目安装/jian-shi/jian-shi-java-2022.9.14.jar
PID_PATH_NAME=/root/桌面/项目安装/jian-shi/jian-shi.pid
PATH_LOG=/root/桌面/项目安装/jian-shi/log.log

case $1 in
start)
echo "正在启动 $SERVICE_NAME ..."
if [ ! -f $PID_PATH_NAME ]; then
/usr/bin/nohup java -jar $PATH_TO_JAR /tmp 2>> $PATH_LOG >> $PATH_LOG &
echo $! > $PID_PATH_NAME
echo "$SERVICE_NAME 已启动 ..."
else
echo "$SERVICE_NAME 正在运行 ..."
fi
;;
stop)
if [ -f $PID_PATH_NAME ]; then
PID=$(/usr/bin/cat $PID_PATH_NAME);
echo "$SERVICE_NAME 正在停止 ..."
kill $PID;
echo "$SERVICE_NAME 已停止 ..."
/usr/bin/rm $PID_PATH_NAME
/usr/bin/rm $PATH_LOG
else
echo "$SERVICE_NAME 未运行 ..."
fi
;;
restart)
if [ -f $PID_PATH_NAME ]; then
PID=$(/usr/bin/cat $PID_PATH_NAME);
echo "$SERVICE_NAME 正在停止 ...";
kill $PID;
echo "$SERVICE_NAME 已停止 ...";
/usr/bin/rm $PID_PATH_NAME
/usr/bin/rm $PATH_LOG
echo "$SERVICE_NAME 正在启动 ..."
/usr/bin/nohup java -jar $PATH_TO_JAR /tmp 2>> $PATH_LOG >> $PATH_LOG &
echo $! > $PID_PATH_NAME
echo "$SERVICE_NAME 已启动 ..."
else
echo "$SERVICE_NAME 未运行 ..."
fi
;;
esac

windows上脚本到linux执行报错

问题
1
2
3
start.sh:行6: $'\r':未找到命令
start.sh:行7: 未预期的符号“$'in\r'”附近有语法错误
'tart.sh:行7: `case $1 in
解决
1
dos2unix start.sh

评论