shell脚本模块化

shell脚本模块化

模块化的优点:

  • 功能清晰
  • 易于维护
  • 便于阅读
  • 代码复用

源代码:只有单一的一个run.sh文件

#!/bin/bash
# 功能:更新小程序并重新启动

# 设置程序出错时不再继续执行
set -e

# 查找app的进程号并杀死该进程
echo "正在停止--小程序"
process_name=app.jar
pid=$(ps -ef | grep $process_name | grep -v "grep" | awk '{print $2}')
if [ -n "$pid" ]; then
    kill -9 $pid
    echo "已杀死进程:$pid"
else
    echo "未找到进程:$process_name"
fi
echo "已停止"

# 替换jar包
echo "开始更新jar包......"
cp /home/caojunxiang/my_app/management-0.0.1-SNAPSHOT.jar /home/caojunxiang/my_app/app.jar
echo "jar包更新完成"

# 启动jar包
echo "正在启动--小程序"
nohup /usr/bin/java -jar /home/caojunxiang/my_app/app.jar >/home/caojunxiang/my_app/app.log 2>&1 &
echo "启动成功"

将上述的文件拆分成三个sh

vim stop.sh

#!/bin/bash
# 查找app的进程号并杀死该进程
echo "正在停止--小程序"
process_name=app.jar
pid=$(ps -ef | grep $process_name | grep -v "grep" | awk '{print $2}')
if [ -n "$pid" ]; then
    kill -9 $pid
    echo "已杀死进程:$pid"
else
    echo "未找到进程:$process_name"
fi
echo "已停止"

vim updata_jar.sh

#!/bin/bash
# 替换jar包
echo "开始更新jar包......"
cp /home/caojunxiang/my_app/management-0.0.1-SNAPSHOT.jar /home/caojunxiang/my_app/app.jar
echo "jar包更新完成"

vim start.sh

# 启动jar包
echo "正在启动--小程序"
nohup /usr/bin/java -jar /home/caojunxiang/my_app/app.jar >/home/caojunxiang/my_app/app.log 2>&1 &
echo "启动成功"

将原来的run.sh做出修改

#!/bin/bash
# 功能:更新小程序并重新启动

source ./stop.sh
source ./update_jar.sh
source ./start.sh

source 命令: 使用资源,它后面跟的路径里面的命令会被自行

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值