serve.sh 692 B

1234567891011121314151617181920212223242526
  1. #!/usr/bin/env bash
  2. # 在当前目录启动 HTTP 服务并打开 viewer。复制这个脚本到任何含
  3. # index.html + result.json + images/ 的目录都能直接用。
  4. set -e
  5. cd "$(dirname "$0")"
  6. PORT="${PORT:-8765}"
  7. # 端口占用时自动加一直到找到空闲端口
  8. while lsof -iTCP:$PORT -sTCP:LISTEN -P >/dev/null 2>&1; do
  9. PORT=$((PORT + 1))
  10. done
  11. echo "Serving $(pwd)"
  12. echo "→ http://localhost:$PORT/"
  13. echo "Ctrl+C 停止"
  14. # 后台启动,等服务起来后再开浏览器
  15. python3 -m http.server "$PORT" >/dev/null 2>&1 &
  16. SERVER_PID=$!
  17. trap "kill $SERVER_PID 2>/dev/null || true" EXIT INT TERM
  18. sleep 0.4
  19. open "http://localhost:$PORT/" 2>/dev/null || true
  20. wait $SERVER_PID