start-main.sh 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. #!/usr/bin/env bash
  2. set -euo pipefail
  3. usage() {
  4. cat <<'EOF'
  5. Usage:
  6. start-main.sh -t [tcp_config]
  7. start-main.sh -u [udp_config]
  8. start-main.sh -tu [tcp_config] [udp_config]
  9. Examples:
  10. start-main.sh -t /home/mynetspeeder/config-tcp.json
  11. start-main.sh -u /home/mynetspeeder/config-udp.json
  12. start-main.sh -tu /home/mynetspeeder/config-tcp.json /home/mynetspeeder/config-udp.json
  13. EOF
  14. }
  15. SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
  16. ROOT_DIR="$(dirname "$SCRIPT_DIR")"
  17. COMMANDS_DIR="$SCRIPT_DIR/commands"
  18. if [[ $# -lt 1 ]]; then
  19. usage
  20. exit 1
  21. fi
  22. MODE="$1"
  23. shift
  24. TCP_CONFIG_DEFAULT="$ROOT_DIR/config-tcp.json"
  25. UDP_CONFIG_DEFAULT="$ROOT_DIR/config-udp.json"
  26. case "$MODE" in
  27. -t)
  28. TCP_CONFIG="${1:-$TCP_CONFIG_DEFAULT}"
  29. bash "$COMMANDS_DIR/tcp_only_start.sh" "$TCP_CONFIG"
  30. ;;
  31. -u)
  32. UDP_CONFIG="${1:-$UDP_CONFIG_DEFAULT}"
  33. bash "$COMMANDS_DIR/udp_only_start.sh" "$UDP_CONFIG"
  34. ;;
  35. -tu)
  36. TCP_CONFIG="${1:-$TCP_CONFIG_DEFAULT}"
  37. UDP_CONFIG="${2:-$UDP_CONFIG_DEFAULT}"
  38. bash "$COMMANDS_DIR/tcp_only_start.sh" "$TCP_CONFIG"
  39. bash "$COMMANDS_DIR/udp_only_start.sh" "$UDP_CONFIG"
  40. ;;
  41. *)
  42. usage
  43. exit 1
  44. ;;
  45. esac