Explorar o código

Fix download to stdout

bryan hai 1 semana
pai
achega
91cceec62f
Modificáronse 2 ficheiros con 20 adicións e 1 borrados
  1. 4 0
      README.md
  2. 16 1
      installJRMC

+ 4 - 0
README.md

@@ -114,6 +114,10 @@ Multiple services (but not `--service-types`) can be installed at one time using
 
     Install the latest version of MC from the best available repository.
 
+* `installJRMC --mcversion 32 --debug`
+
+    Install the latest version of MC32 from the best available repository with debugging output.
+
 * `installJRMC --install local --compat`
 
     Install a more widely-compatible version of the latest MC (for older distros).

+ 16 - 1
installJRMC

@@ -430,7 +430,7 @@ get_latest_mc_version() {
     mc_version_source="containerized package manager"
     execute buildah rm "$cnt"
   # Fallback to webscrape
-  elif MC_VERSION=$(download "$BOARD_URL" | grep -o "[0-9][0-9]\.[0-9]\.[0-9]\+" | head -n 1) \
+  elif MC_VERSION=$(download_stdout "$BOARD_URL" | grep -o "[0-9][0-9]\.[0-9]\.[0-9]\+" | head -n 1) \
   && [[ $MC_VERSION =~ ^[0-9]+\.[0-9]+\.[0-9]+ ]]; then
     mc_version_source="webscrape"
   # Fallback to hardcoded value
@@ -1802,6 +1802,21 @@ download() {
 
   "${cmd[@]}" "$url"
 }
+download_stdout() {
+  local url="$1"
+  local -a cmd
+
+  if command -v curl &>/dev/null; then
+    cmd=(curl --silent --fail --location -o - "$url")
+  elif command -v wget &>/dev/null; then
+    cmd=(wget --quiet -O - "$url")
+  else
+    err "Neither curl nor wget is available"
+    return 1
+  fi
+
+  "${cmd[@]}"
+}
 
 # Roughly turn debugging on for pre-init
 # Reset and reparse in parse_input() with getopt