#!/usr/bin/env bash # 从仓库根目录在 crm/* 子项目下执行命令,避免误用已废弃的顶层 backend/web 路径。 # 用法: ./scripts/crm.sh backend -- mvn -q -DskipTests validate # ./scripts/crm.sh web -- npm run dev # ./scripts/crm.sh py-backend -- bash start.sh set -euo pipefail ROOT="$(cd "$(dirname "$0")/.." && pwd)" target="${1:-}" if [[ -n "${target}" ]]; then shift; fi case "$target" in backend) cd "$ROOT/crm/backend" ;; web) cd "$ROOT/crm/web" ;; py-backend | py) cd "$ROOT/crm/py-backend" ;; *) echo "用法: $0 {backend|web|py-backend} [--] <命令...>" >&2 echo "示例: $0 backend -- bash hot-start.sh" >&2 echo " $0 web -- npm run dev" >&2 exit 1 ;; esac if [[ "${1:-}" == "--" ]]; then shift; fi if [[ $# -eq 0 ]]; then echo "已切换到 $(pwd),未指定要执行的命令。" >&2 exec "${SHELL:-/bin/bash}" fi exec "$@"