crm.sh 932 B

1234567891011121314151617181920212223242526272829303132
  1. #!/usr/bin/env bash
  2. # 从仓库根目录在 crm/* 子项目下执行命令,避免误用已废弃的顶层 backend/web 路径。
  3. # 用法: ./scripts/crm.sh backend -- mvn -q -DskipTests validate
  4. # ./scripts/crm.sh web -- npm run dev
  5. # ./scripts/crm.sh py-backend -- bash start.sh
  6. set -euo pipefail
  7. ROOT="$(cd "$(dirname "$0")/.." && pwd)"
  8. target="${1:-}"
  9. if [[ -n "${target}" ]]; then shift; fi
  10. case "$target" in
  11. backend)
  12. cd "$ROOT/crm/backend"
  13. ;;
  14. web)
  15. cd "$ROOT/crm/web"
  16. ;;
  17. py-backend | py)
  18. cd "$ROOT/crm/py-backend"
  19. ;;
  20. *)
  21. echo "用法: $0 {backend|web|py-backend} [--] <命令...>" >&2
  22. echo "示例: $0 backend -- bash hot-start.sh" >&2
  23. echo " $0 web -- npm run dev" >&2
  24. exit 1
  25. ;;
  26. esac
  27. if [[ "${1:-}" == "--" ]]; then shift; fi
  28. if [[ $# -eq 0 ]]; then
  29. echo "已切换到 $(pwd),未指定要执行的命令。" >&2
  30. exec "${SHELL:-/bin/bash}"
  31. fi
  32. exec "$@"