Files

44 lines
1.3 KiB
Bash
Executable File

#!/bin/bash
# ============================================================
# dev_start.sh - 本地开发环境启动(不启动 ROS2/机械臂硬件)
# 用法: ./scripts/dev_start.sh
# ============================================================
set -e
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
PROJECT_DIR="$(dirname "$SCRIPT_DIR")"
AGV_APP_DIR="$PROJECT_DIR/agv_app"
AGV_ROS2_DIR="${AGV_ROS2_DIR:-/home/elephant/agv_pro_ros2}"
echo "=========================================="
echo " 本地开发模式 - 仅启动 Flask"
echo "=========================================="
echo ""
# 切换到项目目录
source /opt/ros/humble/setup.bash 2>/dev/null || true
source "$AGV_ROS2_DIR/install/setup.bash" 2>/dev/null || true
cd "$AGV_APP_DIR"
# 检查是否有运行的 Flask 进程
FLASK_PID=$(pgrep -f "python.*app.py" 2>/dev/null || true)
if [ -n "$FLASK_PID" ]; then
echo "Flask 已在运行 (PID: $FLASK_PID)"
read -p "是否重启? [y/N] " -n 1 -r
echo
if [[ $REPLY =~ ^[Yy]$ ]]; then
kill "$FLASK_PID" 2>/dev/null
sleep 1
else
echo "保持现有进程,退出"
exit 0
fi
fi
# 使用前台模式运行(方便看日志和 Ctrl+C 停止)
echo "启动 Flask (前台模式,Ctrl+C 停止)..."
echo "访问: http://127.0.0.1:5000"
echo ""
exec uv run --locked python app.py