1
0

download_ros.sh 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. #!/bin/bash
  2. # Импорт конфигурации и функций
  3. SCRIPT_DIR="$(dirname "$0")"
  4. source "${SCRIPT_DIR}/config.sh"
  5. source "${SCRIPT_DIR}/functions.sh"
  6. source "${SCRIPT_DIR}/ros6_functions.sh"
  7. source "${SCRIPT_DIR}/ros7_functions.sh"
  8. # Создаем директорию если нет
  9. mkdir -p "$TARGET_DIR"
  10. # Начало лога
  11. log "Starting RouterOS download script"
  12. #log "Target directory: $TARGET_DIR"
  13. ##################################### Main ###################################################
  14. force=$1
  15. version=$2
  16. if [ -n "${force}" ] && [ "${force}" != "force" ]; then
  17. # Если первый параметр не "force", то это может быть версия
  18. if [ -z "${version}" ]; then
  19. version="${force}"
  20. force=""
  21. fi
  22. fi
  23. if [ -n "${force}" ]; then
  24. log "Force flag for download packages found!"
  25. fi
  26. # Функция для загрузки конкретной версии
  27. download_specific_version() {
  28. local version=$1
  29. local version_type=""
  30. if [[ "$version" =~ ^6\. ]]; then
  31. version_type="ros6"
  32. elif [[ "$version" =~ ^7\. ]]; then
  33. version_type="ros7"
  34. else
  35. log_error "Unknown version format: $version"
  36. exit 1
  37. fi
  38. case $version_type in
  39. "ros6")
  40. download_specific_ros6_version "$version"
  41. ;;
  42. "ros7")
  43. local user_agent_info=$(get_ros7_user_agent "$version")
  44. if [ "${user_agent_info}" == 'after' ]; then
  45. download_specific_ros7_version "7.12.1" "$version"
  46. else
  47. download_specific_ros7_version "7.10" "$version"
  48. fi
  49. ;;
  50. esac
  51. }
  52. if [ -n "${version}" ]; then
  53. # Загрузка конкретной версии
  54. download_specific_version "$version"
  55. else
  56. # Если версия не передана - не делаем ничего
  57. log "No version specified. Exiting."
  58. exit 0
  59. fi
  60. log "Script completed successfully"
  61. exit 0