modify < <() "进程替换" to <<<$() "Here String"

This commit is contained in:
Ing 2024-03-06 22:09:14 +08:00
parent 7cc8c84855
commit 0efbb8a87d
6 changed files with 45 additions and 46 deletions

View File

@ -153,10 +153,10 @@ fi
# Read cmdline
while IFS=': ' read KEY VALUE; do
[ -n "${KEY}" ] && CMDLINE["${KEY}"]="${VALUE}"
done < <(readModelMap "${MODEL}" "productvers.[${PRODUCTVER}].cmdline")
done <<<$(readModelMap "${MODEL}" "productvers.[${PRODUCTVER}].cmdline")
while IFS=': ' read KEY VALUE; do
[ -n "${KEY}" ] && CMDLINE["${KEY}"]="${VALUE}"
done < <(readConfigMap "cmdline" "${USER_CONFIG_FILE}")
done <<<$(readConfigMap "cmdline" "${USER_CONFIG_FILE}")
# Prepare command line
CMDLINE_LINE=""

View File

@ -7,7 +7,7 @@ function availableAddons() {
echo ""
return 1
fi
while read D; do
for D in $(find "${ADDONS_PATH}" -maxdepth 1 -type d | sort); do
[ ! -f "${D}/manifest.yml" ] && continue
ADDON=$(basename ${D})
checkAddonExist "${ADDON}" "${1}" "${2}" || continue
@ -19,7 +19,7 @@ function availableAddons() {
[ -z "${DESC}" ] && DESC="$(readConfigKey "description.en_US" "${D}/manifest.yml")"
[ -z "${DESC}" ] && DESC="$(readConfigKey "description" "${D}/manifest.yml")"
echo -e "${ADDON}\t${DESC:-"unknown"}"
done < <(find "${ADDONS_PATH}" -maxdepth 1 -type d | sort)
done
}
###############################################################################

View File

@ -106,13 +106,13 @@ function modelMenu() {
Y=$(echo ${M} | tr -cd "[0-9]")
Y=${Y:0-2}
echo "${M} ${Y}" >>"${TMP_PATH}/modellist"
done < <(find "${WORK_PATH}/model-configs" -maxdepth 1 -name \*.yml | sed 's/.*\///; s/\.yml//')
done <<<$(find "${WORK_PATH}/model-configs" -maxdepth 1 -name \*.yml | sed 's/.*\///; s/\.yml//')
while true; do
echo -n "" >"${TMP_PATH}/menu"
echo "c \"\Z1$(TEXT "Compatibility judgment")\Zn\"" >>"${TMP_PATH}/menu"
FLGNEX=0
while read M Y; do
while read M; do
PLATFORM=$(readModelKey "${M}" "platform")
DT="$(readModelKey "${M}" "dt")"
BETA="$(readModelKey "${M}" "beta")"
@ -130,7 +130,7 @@ function modelMenu() {
fi
[ "${DT}" = "true" ] && DT="DT" || DT=""
[ ${COMPATIBLE} -eq 1 ] && echo "${M} \"$(printf "\Zb%-15s %-2s\Zn" "${PLATFORM}" "${DT}")\" " >>"${TMP_PATH}/menu"
done < <(cat "${TMP_PATH}/modellist" | sort -r -n -k 2)
done <<<$(cat "${TMP_PATH}/modellist" | sort -r -n -k 2 | awk '{print $1}')
[ ${FLGNEX} -eq 1 ] && echo "f \"\Z1$(TEXT "Disable flags restriction")\Zn\"" >>"${TMP_PATH}/menu"
[ ${FLGBETA} -eq 0 ] && echo "b \"\Z1$(TEXT "Show all models")\Zn\"" >>"${TMP_PATH}/menu"
DIALOG --title "$(TEXT "Model")" \
@ -154,7 +154,7 @@ function modelMenu() {
fi
rm -f "${TMP_PATH}/opts"
echo "$(printf "%-16s %8s %8s %8s" "model" "iGPU" "HBA" "M.2")" >>"${TMP_PATH}/opts"
while read M Y; do
while read M; do
PLATFORM=$(readModelKey "${M}" "platform")
DT="$(readModelKey "${M}" "dt")"
I915=" "
@ -175,7 +175,7 @@ function modelMenu() {
fi
fi
echo "$(printf "%-16s %8s %8s %8s" "${M}" "${I915}" "${HBA}" "${M_2}")" >>"${TMP_PATH}/opts"
done < <(cat "${TMP_PATH}/modellist" | sort -r -n -k 2)
done <<<$(cat "${TMP_PATH}/modellist" | sort -r -n -k 2 | awk '{print $1}')
DIALOG --title "$(TEXT "Model")" \
--textbox "${TMP_PATH}/opts" 0 0
continue
@ -307,7 +307,7 @@ function productversMenu() {
writeConfigKey "synoinfo" "{}" "${USER_CONFIG_FILE}"
while IFS=': ' read KEY VALUE; do
writeConfigKey "synoinfo.\"${KEY}\"" "${VALUE}" "${USER_CONFIG_FILE}"
done < <(readModelMap "${MODEL}" "productvers.[${PRODUCTVER}].synoinfo")
done <<<$(readModelMap "${MODEL}" "productvers.[${PRODUCTVER}].synoinfo")
# Check addons
PLATFORM="$(readModelKey "${MODEL}" "platform")"
KVER="$(readModelKey "${MODEL}" "productvers.[${PRODUCTVER}].kver")"
@ -317,12 +317,12 @@ function productversMenu() {
if ! checkAddonExist "${ADDON}" "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}"; then
deleteConfigKey "addons.\"${ADDON}\"" "${USER_CONFIG_FILE}"
fi
done < <(readConfigMap "addons" "${USER_CONFIG_FILE}")
done <<<$(readConfigMap "addons" "${USER_CONFIG_FILE}")
# Rewrite modules
writeConfigKey "modules" "{}" "${USER_CONFIG_FILE}"
while read ID DESC; do
writeConfigKey "modules.\"${ID}\"" "" "${USER_CONFIG_FILE}"
done < <(getAllModules "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}")
done <<<$(getAllModules "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}")
# Remove old files
rm -f "${ORI_ZIMAGE_FILE}" "${ORI_RDGZ_FILE}" "${MOD_ZIMAGE_FILE}" "${MOD_RDGZ_FILE}" >/dev/null 2>&1
rm -f "${PART1_PATH}/grub_cksum.syno" "${PART1_PATH}/GRUB_VER" "${PART2_PATH}/"* >/dev/null 2>&1
@ -438,7 +438,7 @@ function ParsePat() {
writeConfigKey "synoinfo" "{}" "${USER_CONFIG_FILE}"
while IFS=': ' read KEY VALUE; do
writeConfigKey "synoinfo.\"${KEY}\"" "${VALUE}" "${USER_CONFIG_FILE}"
done < <(readModelMap "${MODEL}" "productvers.[${PRODUCTVER}].synoinfo")
done <<<$(readModelMap "${MODEL}" "productvers.[${PRODUCTVER}].synoinfo")
# Check addons
PLATFORM="$(readModelKey "${MODEL}" "platform")"
@ -449,12 +449,12 @@ function ParsePat() {
if ! checkAddonExist "${ADDON}" "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}"; then
deleteConfigKey "addons.\"${ADDON}\"" "${USER_CONFIG_FILE}"
fi
done < <(readConfigMap "addons" "${USER_CONFIG_FILE}")
done <<<$(readConfigMap "addons" "${USER_CONFIG_FILE}")
# Rebuild modules
writeConfigKey "modules" "{}" "${USER_CONFIG_FILE}"
while read ID DESC; do
writeConfigKey "modules.\"${ID}\"" "" "${USER_CONFIG_FILE}"
done < <(getAllModules "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}")
done <<<$(getAllModules "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}")
# Remove old files
rm -f "${ORI_ZIMAGE_FILE}" "${ORI_RDGZ_FILE}" "${MOD_ZIMAGE_FILE}" "${MOD_RDGZ_FILE}" >/dev/null 2>&1
@ -495,7 +495,7 @@ function addonMenu() {
declare -A ADDONS
while IFS=': ' read KEY VALUE; do
[ -n "${KEY}" ] && ADDONS["${KEY}"]="${VALUE}"
done < <(readConfigMap "addons" "${USER_CONFIG_FILE}")
done <<<$(readConfigMap "addons" "${USER_CONFIG_FILE}")
DIALOG --title "$(TEXT "Addons")" \
--default-item ${NEXT} --menu "$(TEXT "Choose a option")" 0 0 0 \
@ -512,7 +512,7 @@ function addonMenu() {
while read ADDON DESC; do
arrayExistItem "${ADDON}" "${!ADDONS[@]}" && continue # Check if addon has already been added
echo "${ADDON} \"${DESC}\"" >>"${TMP_PATH}/menu"
done < <(availableAddons "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}")
done <<<$(availableAddons "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}")
if [ ! -f "${TMP_PATH}/menu" ]; then
DIALOG --title "$(TEXT "Addons")" \
--msgbox "$(TEXT "No available addons to add")" 0 0
@ -566,7 +566,7 @@ function addonMenu() {
MSG+="${MODULE}"
fi
MSG+=": \Z5${DESC}\Zn\n"
done < <(availableAddons "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}")
done <<<$(availableAddons "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}")
DIALOG --title "$(TEXT "Addons")" \
--msgbox "${MSG}" 0 0
;;
@ -648,7 +648,7 @@ function moduleMenu() {
declare -A USERMODULES
while IFS=': ' read KEY VALUE; do
[ -n "${KEY}" ] && USERMODULES["${KEY}"]="${VALUE}"
done < <(readConfigMap "modules" "${USER_CONFIG_FILE}")
done <<<$(readConfigMap "modules" "${USER_CONFIG_FILE}")
rm -f "${TMP_PATH}/opts"
while read ID DESC; do
arrayExistItem "${ID}" "${!USERMODULES[@]}" && ACT="on" || ACT="off"
@ -753,7 +753,7 @@ function moduleMenu() {
if echo "${DEPS}" | grep -wq "${KEY}"; then
DELS+=("${KEY}")
fi
done < <(readConfigMap "modules" "${USER_CONFIG_FILE}")
done <<<$(readConfigMap "modules" "${USER_CONFIG_FILE}")
if [ ${#DELS[@]} -eq 0 ]; then
DIALOG --title "$(TEXT "Modules")" \
--msgbox "$(TEXT "No i915 with dependencies module to deselect.")" 0 0
@ -853,7 +853,7 @@ function cmdlineMenu() {
declare -A CMDLINE
while IFS=': ' read KEY VALUE; do
[ -n "${KEY}" ] && CMDLINE["${KEY}"]="${VALUE}"
done < <(readConfigMap "cmdline" "${USER_CONFIG_FILE}")
done <<<$(readConfigMap "cmdline" "${USER_CONFIG_FILE}")
if [ ${#CMDLINE[@]} -eq 0 ]; then
DIALOG --title "$(TEXT "Cmdline")" \
--msgbox "$(TEXT "No user cmdline to remove")" 0 0
@ -922,7 +922,7 @@ function cmdlineMenu() {
ITEMS=""
while IFS=': ' read KEY VALUE; do
ITEMS+="${KEY}: ${VALUE}\n"
done < <(readModelMap "${MODEL}" "productvers.[${PRODUCTVER}].cmdline")
done <<<$(readModelMap "${MODEL}" "productvers.[${PRODUCTVER}].cmdline")
DIALOG --title "$(TEXT "Cmdline")" \
--msgbox "${ITEMS}" 0 0
;;
@ -985,7 +985,7 @@ function synoinfoMenu() {
declare -A SYNOINFO
while IFS=': ' read KEY VALUE; do
[ -n "${KEY}" ] && SYNOINFO["${KEY}"]="${VALUE}"
done < <(readConfigMap "synoinfo" "${USER_CONFIG_FILE}")
done <<<$(readConfigMap "synoinfo" "${USER_CONFIG_FILE}")
if [ ${#SYNOINFO[@]} -eq 0 ]; then
DIALOG --title "$(TEXT "Synoinfo")" \
--msgbox "$(TEXT "No synoinfo entries to remove")" 0 0
@ -1224,7 +1224,7 @@ function make() {
echo -e "$(printf "$(TEXT "Addon %s not found!")" "${ADDON}")" >"${MKERR_FILE}"
break 2
fi
done < <(readConfigMap "addons" "${USER_CONFIG_FILE}")
done <<<$(readConfigMap "addons" "${USER_CONFIG_FILE}")
if [ ! -f "${ORI_ZIMAGE_FILE}" -o ! -f "${ORI_RDGZ_FILE}" ]; then
extractDsmFiles
@ -1713,7 +1713,7 @@ function advancedMenu() {
[ -z "${ID}" ] && ID="Unknown"
echo "${KNAME}" | grep -q "${LOADER_DISK}" && continue
echo "\"${KNAME}\" \"${ID}\" \"off\"" >>"${TMP_PATH}/opts"
done < <(lsblk -pno KNAME,ID)
done <<<$(lsblk -pno KNAME,ID)
if [ ! -f "${TMP_PATH}/opts" ]; then
DIALOG --title "$(TEXT "Advanced")" \
--msgbox "$(TEXT "No disk found!")" 0 0
@ -1762,7 +1762,7 @@ function advancedMenu() {
grep -q "status=on" "${TMP_PATH}/sdX1/usr/syno/etc/packages/SecureSignIn/preference/${U}/method.config" 2>/dev/null
[ $? -eq 0 ] && S="SecureSignIn" || S=" "
printf "\"%-36s %-10s %-14s\"\n" "${U}" "${E}" "${S}" >>"${TMP_PATH}/menu"
done < <(cat "${TMP_PATH}/sdX1/etc/shadow")
done <<<$(cat "${TMP_PATH}/sdX1/etc/shadow")
fi
umount "${I}"
[ -f "${TMP_PATH}/menu" ] && break
@ -1900,7 +1900,7 @@ EOF
[ -z "${KNAME}" -o -z "${ID}" ] && continue
echo "${KNAME}" | grep -q "${LOADER_DISK}" && continue
echo "\"${KNAME}\" \"${ID}\" \"off\"" >>"${TMP_PATH}/opts"
done < <(lsblk -dpno KNAME,ID)
done <<<$(lsblk -dpno KNAME,ID)
if [ ! -f "${TMP_PATH}/opts" ]; then
DIALOG --title "$(TEXT "Advanced")" \
--msgbox "$(TEXT "No disk found!")" 0 0
@ -2099,7 +2099,7 @@ function tryRecoveryDSM() {
[ "${unique}" = "${UNIQUE}" ] || continue
# Found
modelMenu "${M}"
done < <(find "${WORK_PATH}/model-configs" -maxdepth 1 -name \*.yml | sort)
done <<<$(find "${WORK_PATH}/model-configs" -maxdepth 1 -name \*.yml | sort)
if [ -n "${MODEL}" ]; then
productversMenu "${majorversion}.${minorversion}"
if [ -n "${PRODUCTVER}" ]; then
@ -2188,7 +2188,7 @@ function languageMenu() {
while read L; do
A="$(echo "$(strings "${WORK_PATH}/lang/${L}/LC_MESSAGES/rr.mo" 2>/dev/null | grep "Last-Translator" | sed "s/Last-Translator://")")"
echo "${L} \"${A:-"anonymous"}\"" >>"${TMP_PATH}/menu"
done < <(ls ${WORK_PATH}/lang/*/LC_MESSAGES/rr.mo 2>/dev/null | sort | sed -r 's/.*\/lang\/(.*)\/LC_MESSAGES\/rr\.mo$/\1/')
done <<<$(ls ${WORK_PATH}/lang/*/LC_MESSAGES/rr.mo 2>/dev/null | sort | sed -r 's/.*\/lang\/(.*)\/LC_MESSAGES\/rr\.mo$/\1/')
DIALOG \
--default-item "${LAYOUT}" --menu "$(TEXT "Choose a language")" 0 0 0 --file "${TMP_PATH}/menu" \
@ -2213,7 +2213,7 @@ function keymapMenu() {
OPTIONS=""
while read KM; do
OPTIONS+="${KM::-7} "
done < <(
done <<<$(
cd /usr/share/keymaps/i386/${LAYOUT}
ls *.map.gz 2>/dev/null
)
@ -2373,7 +2373,7 @@ function updateRR() {
while read F; do
[ -f "${F}" ] && rm -f "${F}"
[ -d "${F}" ] && rm -Rf "${F}"
done < <(readConfigArray "remove" "${TMP_PATH}/update/update-list.yml")
done <<<$(readConfigArray "remove" "${TMP_PATH}/update/update-list.yml")
while IFS=': ' read KEY VALUE; do
if [ "${KEY: -1}" = "/" ]; then
rm -Rf "${VALUE}"
@ -2388,7 +2388,7 @@ function updateRR() {
writeConfigKey "modules" "{}" "${USER_CONFIG_FILE}"
while read ID DESC; do
writeConfigKey "modules.\"${ID}\"" "" "${USER_CONFIG_FILE}"
done < <(getAllModules "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}")
done <<<$(getAllModules "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}")
fi
fi
fi
@ -2396,7 +2396,7 @@ function updateRR() {
mkdir -p "$(dirname "${VALUE}")"
mv -f "${TMP_PATH}/update/$(basename "${KEY}")" "${VALUE}"
fi
done < <(readConfigMap "replace" "${TMP_PATH}/update/update-list.yml")
done <<<$(readConfigMap "replace" "${TMP_PATH}/update/update-list.yml")
touch ${PART1_PATH}/.build
MSG="$(printf "$(TEXT "%s updated with success!")" "$(TEXT "RR")")\n$(TEXT "Reboot?")"
if [ "${2}" = "-1" ]; then
@ -2487,7 +2487,7 @@ function updateModules() {
writeConfigKey "modules" "{}" "${USER_CONFIG_FILE}"
while read ID DESC; do
writeConfigKey "modules.\"${ID}\"" "" "${USER_CONFIG_FILE}"
done < <(getAllModules "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}")
done <<<$(getAllModules "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}")
fi
fi
touch ${PART1_PATH}/.build
@ -2830,7 +2830,7 @@ while true; do
writeConfigKey "modules" "{}" "${USER_CONFIG_FILE}"
while read ID DESC; do
writeConfigKey "modules.\"${ID}\"" "" "${USER_CONFIG_FILE}"
done < <(getAllModules "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}")
done <<<$(getAllModules "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}")
fi
touch ${PART1_PATH}/.build

View File

@ -79,15 +79,15 @@ declare -A MODULES
# Read synoinfo and addons from config
while IFS=': ' read KEY VALUE; do
[ -n "${KEY}" ] && SYNOINFO["${KEY}"]="${VALUE}"
done < <(readConfigMap "synoinfo" "${USER_CONFIG_FILE}")
done <<<$(readConfigMap "synoinfo" "${USER_CONFIG_FILE}")
while IFS=': ' read KEY VALUE; do
[ -n "${KEY}" ] && ADDONS["${KEY}"]="${VALUE}"
done < <(readConfigMap "addons" "${USER_CONFIG_FILE}")
done <<<$(readConfigMap "addons" "${USER_CONFIG_FILE}")
# Read modules from user config
while IFS=': ' read KEY VALUE; do
[ -n "${KEY}" ] && MODULES["${KEY}"]="${VALUE}"
done < <(readConfigMap "modules" "${USER_CONFIG_FILE}")
done <<<$(readConfigMap "modules" "${USER_CONFIG_FILE}")
# Patches (diff -Naru OLDFILE NEWFILE > xxx.patch)
while read PE; do
@ -104,7 +104,7 @@ while read PE; do
[ ${RET} -eq 0 ] && break
done
[ ${RET} -ne 0 ] && dieLog
done < <(readModelArray "${MODEL}" "productvers.[${PRODUCTVER}].patch")
done <<<$(readModelArray "${MODEL}" "productvers.[${PRODUCTVER}].patch")
# Patch /etc/synoinfo.conf
echo -n "."

View File

@ -58,10 +58,9 @@ while read F; do
(cd $(dirname "/tmp/${F}") && sha256sum $(basename "/tmp/${F}")) >>sha256sum
zip -9j update.zip "/tmp/${F}"
fi
done < <(yq '.replace | explode(.) | to_entries | map([.key])[] | .[]' update-list.yml)
done <<<$(yq '.replace | explode(.) | to_entries | map([.key])[] | .[]' update-list.yml)
zip -9j update.zip sha256sum
echo "Unmount image file"
sudo umount "/tmp/files/p1"
sudo umount "/tmp/files/p3"

View File

@ -86,7 +86,7 @@ function getBuildroot() {
echo "TAG=${TAG}; Status=${STATUS}"
[ ${STATUS:-0} -ne 200 ] && exit 1
fi
done < <(curl -skL -H "Authorization: Bearer ${TOKEN}" "https://api.github.com/repos/RROrg/rr-buildroot/releases/tags/${TAG}" | jq -r '.assets[] | "\(.id) \(.name)"')
done <<<$(curl -skL -H "Authorization: Bearer ${TOKEN}" "https://api.github.com/repos/RROrg/rr-buildroot/releases/tags/${TAG}" | jq -r '.assets[] | "\(.id) \(.name)"')
# Unzip Buildroot
rm -rf "${CACHE_DIR}"
mkdir -p "${CACHE_DIR}"
@ -118,7 +118,7 @@ function getCKs() {
echo "TAG=${TAG}; Status=${STATUS}"
[ ${STATUS:-0} -ne 200 ] && exit 1
fi
done < <(curl -skL -H "Authorization: Bearer ${TOKEN}" "https://api.github.com/repos/RROrg/rr-cks/releases/tags/${TAG}" | jq -r '.assets[] | "\(.id) \(.name)"')
done <<<$(curl -skL -H "Authorization: Bearer ${TOKEN}" "https://api.github.com/repos/RROrg/rr-cks/releases/tags/${TAG}" | jq -r '.assets[] | "\(.id) \(.name)"')
[ ! -f "${CACHE_FILE}" ] && exit 1
# Unzip CKs
rm -rf "${DEST_PATH}"
@ -147,7 +147,7 @@ function getLKMs() {
echo "TAG=${TAG}; Status=${STATUS}"
[ ${STATUS:-0} -ne 200 ] && exit 1
fi
done < <(curl -skL -H "Authorization: Bearer ${TOKEN}" "https://api.github.com/repos/RROrg/rr-lkms/releases/tags/${TAG}" | jq -r '.assets[] | "\(.id) \(.name)"')
done <<<$(curl -skL -H "Authorization: Bearer ${TOKEN}" "https://api.github.com/repos/RROrg/rr-lkms/releases/tags/${TAG}" | jq -r '.assets[] | "\(.id) \(.name)"')
[ ! -f "${CACHE_FILE}" ] && exit 1
# Unzip LKMs
rm -rf "${DEST_PATH}"
@ -176,7 +176,7 @@ function getAddons() {
echo "TAG=${TAG}; Status=${STATUS}"
[ ${STATUS:-0} -ne 200 ] && exit 1
fi
done < <(curl -skL -H "Authorization: Bearer ${TOKEN}" "https://api.github.com/repos/RROrg/rr-addons/releases/tags/${TAG}" | jq -r '.assets[] | "\(.id) \(.name)"')
done <<<$(curl -skL -H "Authorization: Bearer ${TOKEN}" "https://api.github.com/repos/RROrg/rr-addons/releases/tags/${TAG}" | jq -r '.assets[] | "\(.id) \(.name)"')
[ ! -f "${CACHE_FILE}" ] && exit 1
rm -rf "${DEST_PATH}"
mkdir -p "${DEST_PATH}"
@ -216,7 +216,7 @@ function getModules() {
echo "TAG=${TAG}; Status=${STATUS}"
[ ${STATUS:-0} -ne 200 ] && exit 1
fi
done < <(curl -skL -H "Authorization: Bearer ${TOKEN}" "https://api.github.com/repos/RROrg/rr-modules/releases/tags/${TAG}" | jq -r '.assets[] | "\(.id) \(.name)"')
done <<<$(curl -skL -H "Authorization: Bearer ${TOKEN}" "https://api.github.com/repos/RROrg/rr-modules/releases/tags/${TAG}" | jq -r '.assets[] | "\(.id) \(.name)"')
[ ! -f "${CACHE_FILE}" ] && exit 1
# Unzip Modules
rm -rf "${DEST_PATH}"