excel-toolkit/run.sh

40 lines
942 B
Bash
Raw Normal View History

#!/usr/bin/env bash
# Excel Toolkit 统一入口脚本
# 自动使用 uv run 执行,确保虚拟环境隔离
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
cd "$SCRIPT_DIR"
# 检测 uv 是否可用
if ! command -v uv &> /dev/null; then
echo "❌ uv not found. Install with: curl -LsSf https://astral.sh/uv/install.sh | sh" >&2
exit 1
fi
# 确保依赖已同步
if [ ! -d ".venv" ]; then
echo "📦 Syncing dependencies..."
uv sync
fi
# 执行脚本
SCRIPT_NAME="$1"
shift
if [ -z "$SCRIPT_NAME" ]; then
echo "Usage: ./run.sh <script_name> [args...]"
echo ""
echo "Available scripts:"
ls scripts/*.py 2>/dev/null | xargs -n1 basename | sed 's/\.py$//' | sed 's/^/ /'
exit 1
fi
SCRIPT_PATH="scripts/${SCRIPT_NAME}.py"
if [ ! -f "$SCRIPT_PATH" ]; then
echo "❌ Script not found: $SCRIPT_PATH" >&2
exit 1
fi
echo "🚀 Running: $SCRIPT_PATH $@"
uv run python "$SCRIPT_PATH" "$@"