加固exit退出流程。
This commit is contained in:
@@ -1,14 +1,23 @@
|
||||
#!/bin/bash
|
||||
# 1. 先跳转到脚本所在目录,再定位项目根目录(核心修复)
|
||||
cd "$(dirname "${BASH_SOURCE[0]}")"
|
||||
BASE_DIR=$(cd .. && pwd) # 从bash目录向上跳1级,得到项目根目录
|
||||
# Termux专属启动脚本 编译+启动 解决exit后卡空行/需手动^C问题
|
||||
cd "$(dirname "${BASH_SOURCE[0]}")" || { echo "目录切换失败"; exit 1; }
|
||||
BASE_DIR=$(cd .. && pwd)
|
||||
|
||||
# 2. 执行编译(用绝对路径调用build_class.sh,避免路径问题)
|
||||
bash "$BASE_DIR/bash/build_class.sh"
|
||||
# 1. 编译校验
|
||||
BUILD_SH="$BASE_DIR/bash/build_class.sh"
|
||||
bash "$BUILD_SH" || { echo "编译失败退出"; exit 1; }
|
||||
|
||||
# 3. 配置类路径(指向根目录的runtime和libs)
|
||||
CLASSPATH="$BASE_DIR/runtime:$BASE_DIR/libs/*"
|
||||
# 2. 类路径配置
|
||||
CLASSPATH="$BASE_DIR/runtime"
|
||||
[ -d "$BASE_DIR/libs" ] && CLASSPATH="$CLASSPATH:$BASE_DIR/libs/*"
|
||||
MAIN_CLASS="Main"
|
||||
|
||||
echo "正在启动 Main 类,类路径:$CLASSPATH"
|
||||
java -cp "$CLASSPATH" $MAIN_CLASS
|
||||
# 3. 关键修复:预重置终端+进程绑定+退出后强制清流
|
||||
stty -echoctl # 屏蔽^C视觉印记
|
||||
echo -e "\n🚀 服务启动中,输入help查指令,输入exit优雅停机"
|
||||
# 启动并绑定进程,Java结束脚本立刻走后续逻辑
|
||||
java -cp "$CLASSPATH" "$MAIN_CLASS"
|
||||
# Java退出后 强制重置终端+脚本退出,彻底无残留
|
||||
stty sane
|
||||
exit $?
|
||||
|
||||
|
||||
Reference in New Issue
Block a user