From 32ce93d919a9f371bd1d4314b63bc8959bbfd0a2 Mon Sep 17 00:00:00 2001 From: AuxXxilium Date: Mon, 6 Nov 2023 18:54:17 +0100 Subject: [PATCH] tree: syntax rewrite and fix Signed-off-by: AuxXxilium --- files/initrd/opt/arc/arc.sh | 31 +++++++++++------------ files/initrd/opt/arc/include/functions.sh | 2 +- files/initrd/opt/arc/include/storage.sh | 6 ++--- files/initrd/opt/arc/ramdisk-patch.sh | 2 +- 4 files changed, 20 insertions(+), 21 deletions(-) diff --git a/files/initrd/opt/arc/arc.sh b/files/initrd/opt/arc/arc.sh index 4580ac8c..8854db5a 100755 --- a/files/initrd/opt/arc/arc.sh +++ b/files/initrd/opt/arc/arc.sh @@ -129,7 +129,7 @@ function arcMenu() { PLATFORM=$(readModelKey "${M}" "platform") DT="$(readModelKey "${M}" "dt")" BETA="$(readModelKey "${M}" "beta")" - [ "${BETA}" = "true" ] && [ ${FLGBETA} -eq 0 ] && continue + [[ "${BETA}" = "true" && ${FLGBETA} -eq 0 ]] && continue DISKS="$(readModelKey "${M}" "disks")-Bay" ARCCONF="$(readModelKey "${M}" "arc.serial")" if [ -n "${ARCCONF}" ]; then @@ -275,7 +275,7 @@ function arcsettings() { ARCCONF="$(readConfigKey "arc.serial" "${MODEL_CONFIG_PATH}/${MODEL}.yml")" if [ "${ARCRECOVERY}" = "true" ]; then writeConfigKey "extensions.cpuinfo" "" "${USER_CONFIG_FILE}" - elif [ "${ARCRECOVERY}" != "true" ] && [ -n "${ARCCONF}" ]; then + elif [[ "${ARCRECOVERY}" != "true" && -n "${ARCCONF}" ]]; then dialog --clear --backtitle "$(backtitle)" --title "Arc Patch Model"\ --menu "Do you want to use Syno Services?" 7 50 0 \ 1 "Yes - Install with Arc Patch" \ @@ -316,7 +316,7 @@ function arcsettings() { writeConfigKey "extensions.cpuinfo" "" "${USER_CONFIG_FILE}" fi writeConfigKey "arc.sn" "${SN}" "${USER_CONFIG_FILE}" - elif [ "${ARCRECOVERY}" != "true" ] && [ -z "${ARCCONF}" ]; then + elif [[ "${ARCRECOVERY}" != "true" && -z "${ARCCONF}" ]]; then dialog --clear --backtitle "$(backtitle)" --title "Non Arc Patch Model" \ --menu "Please select an Option?" 7 50 0 \ 1 "Install with random Serial/Mac" \ @@ -438,13 +438,13 @@ function make() { PAT_URL="$(curl -skL "https://www.synology.com/api/support/findDownloadInfo?lang=en-us&product=${MODEL/+/%2B}&major=${PRODUCTVER%%.*}&minor=${PRODUCTVER##*.}" | jq -r '.info.system.detail[0].items[0].files[0].url')" PAT_HASH="$(curl -skL "https://www.synology.com/api/support/findDownloadInfo?lang=en-us&product=${MODEL/+/%2B}&major=${PRODUCTVER%%.*}&minor=${PRODUCTVER##*.}" | jq -r '.info.system.detail[0].items[0].files[0].checksum')" PAT_URL=${PAT_URL%%\?*} - if [ -n "${PAT_URL}" ] && [ -n "${PAT_HASH}" ]; then + if [[ -n "${PAT_URL}" && -n "${PAT_HASH}" ]]; then break fi sleep 1 idx=$((${idx} + 1)) done - if [ -z "${PAT_URL}" ] || [ -z "${PAT_HASH}" ]; then + if [[ -z "${PAT_URL}" || -z "${PAT_HASH}" ]]; then MSG="Failed to get PAT Data.\nPlease manually fill in the URL and Hash of PAT." PAT_URL="" PAT_HASH="" @@ -1466,8 +1466,8 @@ function backupMenu() { rz -be -B 536870912 for F in $(ls -A); do USER_FILE="${F}" - [ "${F##*.}" = "zip" ] && [ $(unzip -l "${TMP_PATH}/${USER_FILE}" | grep -c "\.img$") -eq 1 ] && IFTOOL="zip" - [ "${F##*.}" = "gz" ] && [ "${F#*.}" = "img.gz" ] && IFTOOL="gzip" + [[ "${F##*.}" = "zip" && $(unzip -l "${TMP_PATH}/${USER_FILE}" | grep -c "\.img$") -eq 1 ]] && IFTOOL="zip" + [[ "${F##*.}" = "gz" && "${F#*.}" = "img.gz" ]] && IFTOOL="gzip" break done popd @@ -1922,7 +1922,7 @@ function updateMenu() { mkdir -p "${MODULES_PATH}" unzip -oq "${TMP_PATH}/modules.zip" -d "${MODULES_PATH}" >/dev/null 2>&1 # Rebuild modules if model/build is selected - if [ -n "${PLATFORM}" ] && [ -n "${KVER}" ]; then + if [[ -n "${PLATFORM}" && -n "${KVER}" ]]; then writeConfigKey "modules" "{}" "${USER_CONFIG_FILE}" while read -r ID DESC; do writeConfigKey "modules.${ID}" "" "${USER_CONFIG_FILE}" @@ -2105,7 +2105,7 @@ function sysinfo() { NETIP="$(getIP)" if [ "${STATICIP}" = "true" ]; then ARCIP="$(readConfigKey "arc.ip" "${USER_CONFIG_FILE}")" - if [ "${ETHX[${N}]}" = "eth0" ] && [ -n "${ARCIP}" ]; then + if [[ "${ETHX[${N}]}" = "eth0" && -n "${ARCIP}" ]]; then NETIP="${ARCIP}" MSG="STATIC" else @@ -2302,7 +2302,7 @@ function staticIPMenu() { [ $? -ne 0 ] && return 1 ( mkdir -p "${TMP_PATH}/sdX1" - for I in $(ls /dev/sd*1 2>/dev/null | grep -v "${LOADER_DISK}1"); do + for I in $(ls /dev/sd*1 2>/dev/null | grep -v "${LOADER_DISK_PART1}"); do mount "${I}" "${TMP_PATH}/sdX1" [ -f "${TMP_PATH}/sdX1/etc/sysconfig/network-scripts/ifcfg-eth0" ] && cp -f "${TMP_PATH}/ifcfg-eth0" "${TMP_PATH}/sdX1/etc/sysconfig/network-scripts/ifcfg-eth0" sync @@ -2310,7 +2310,7 @@ function staticIPMenu() { done rm -rf "${TMP_PATH}/sdX1" ) - if [ -n "${IPADDR}" ] && [ -n "${NETMASK}" ]; then + if [[ -n "${IPADDR}" && -n "${NETMASK}" ]]; then NETMASK=$(convert_netmask "${NETMASK}") ip addr add ${IPADDR}/${NETMASK} dev eth0 writeConfigKey "arc.staticip" "true" "${USER_CONFIG_FILE}" @@ -2339,7 +2339,7 @@ function downgradeMenu() { [ $? -ne 0 ] && return 1 ( mkdir -p "${TMP_PATH}/sdX1" - for I in $(ls /dev/sd*1 2>/dev/null | grep -v "${LOADER_DISK}1"); do + for I in $(ls /dev/sd*1 2>/dev/null | grep -v "${LOADER_DISK_PART1}"); do mount "${I}" "${TMP_PATH}/sdX1" [ -f "${TMP_PATH}/sdX1/etc/VERSION" ] && rm -f "${TMP_PATH}/sdX1/etc/VERSION" [ -f "${TMP_PATH}/sdX1/etc.defaults/VERSION" ] && rm -f "${TMP_PATH}/sdX1/etc.defaults/VERSION" @@ -2363,7 +2363,7 @@ function resetPassword() { mount ${I} "${TMP_PATH}/sdX1" if [ -f "${TMP_PATH}/sdX1/etc/shadow" ]; then for U in $(cat "${TMP_PATH}/sdX1/etc/shadow" | awk -F ':' '{if ($2 != "*" && $2 != "!!") {print $1;}}'); do - grep -q "status=on" "${TMP_PATH}//usr/syno/etc/packages/SecureSignIn/preference/${U}/method.config" 2>/dev/null + grep -q "status=on" "${TMP_PATH}/sdX1/usr/syno/etc/packages/SecureSignIn/preference/${U}/method.config" 2>/dev/nulll [ $? -eq 0 ] && SS="SecureSignIn" || SS=" " printf "\"%-36s %-16s\"\n" "${U}" "${SS}" >>"${TMP_PATH}/menu" done @@ -2396,18 +2396,17 @@ function resetPassword() { NEWPASSWD="$(python -c "from passlib.hash import sha512_crypt;pw=\"${VALUE}\";print(sha512_crypt.using(rounds=5000).hash(pw))")" ( mkdir -p "${TMP_PATH}/sdX1" - for I in $(ls /dev/sd.*1 2>/dev/null | grep -v ${LOADER_DISK_PART1}); do + for I in $(ls /dev/sd*1 2>/dev/null | grep -v "${LOADER_DISK_PART1}"); do mount "${I}" "${TMP_PATH}/sdX1" OLDPASSWD="$(cat "${TMP_PATH}/sdX1/etc/shadow" | grep "^${USER}:" | awk -F ':' '{print $2}')" [ -n "${NEWPASSWD}" -a -n "${OLDPASSWD}" ] && sed -i "s|${OLDPASSWD}|${NEWPASSWD}|g" "${TMP_PATH}/sdX1/etc/shadow" - sed -i "s|status=on|status=off|g" "${TMP_PATH}/usr/syno/etc/packages/SecureSignIn/preference/${USER}/method.config" 2>/dev/null + sed -i "s|status=on|status=off|g" "${TMP_PATH}/sdX1/usr/syno/etc/packages/SecureSignIn/preference/${USER}/method.config" 2>/dev/null sync umount "${I}" done rm -rf "${TMP_PATH}/sdX1" ) 2>&1 | dialog --backtitle "$(backtitle)" --colors --title "Reset DSM Password" \ --progressbox "Resetting ..." 20 100 - [ -f "${SHADOW_FILE}" ] && rm -rf "${SHADOW_FILE}" dialog --backtitle "$(backtitle)" --colors --title "Reset DSM Password" --aspect 18 \ --msgbox "Password reset completed." 0 0 } diff --git a/files/initrd/opt/arc/include/functions.sh b/files/initrd/opt/arc/include/functions.sh index 5deb4ada..13629c2c 100755 --- a/files/initrd/opt/arc/include/functions.sh +++ b/files/initrd/opt/arc/include/functions.sh @@ -286,7 +286,7 @@ EOF [ ${IDX} -ge $(wc -l <${TMP_PATH}/ethlist) ] && break ETH=$(cat ${TMP_PATH}/ethlist | sed -n "$((${IDX} + 1))p" | awk '{print $3}') # echo "ETH: ${ETH}" - if [ -n "${ETH}" ] && [ ! "${ETH}" = "eth${IDX}" ]; then + if [[ -n "${ETH}" && ! "${ETH}" = "eth${IDX}" ]]; then # echo "change ${ETH} <=> eth${IDX}" ip link set dev eth${IDX} down ip link set dev ${ETH} down diff --git a/files/initrd/opt/arc/include/storage.sh b/files/initrd/opt/arc/include/storage.sh index 76809c4a..2ee340d5 100755 --- a/files/initrd/opt/arc/include/storage.sh +++ b/files/initrd/opt/arc/include/storage.sh @@ -51,7 +51,7 @@ function getmap() { LASTDRIVE=0 # Check for VM while read -r LINE; do - if [ "${BUS}" != "usb" ] && [ ${LINE} -eq 0 ] && [ "${LOADER_DISK}" = "/dev/sda" ]; then + if [[ "${BUS}" != "usb" && ${LINE} -eq 0 && "${LOADER_DISK}" = "/dev/sda" ]]; then MAXDISKS="$(readModelKey "${MODEL}" "disks")" if [ ${MAXDISKS} -lt ${SATADRIVES} ]; then MAXDISKS=${SATADRIVES} @@ -113,9 +113,9 @@ function getmap() { if [ ${SATACONTROLLER} -gt 0 ]; then SATAREMAP="$(awk '{print $1}' "${TMP_PATH}/remap" | sed 's/.$//')" # Show recommended Option to user - if [ -n "${SATAREMAP}" ] && [ ${SASCONTROLLER} -eq 0 ]; then + if [[ -n "${SATAREMAP}" && ${SASCONTROLLER} -eq 0 ]]; then REMAP3="*" - elif [ -n "${SATAREMAP}" ] && [ ${SASCONTROLLER} -gt 0 ] && [ "${MACHINE}" = "NATIVE" ]; then + elif [[ -n "${SATAREMAP}" && ${SASCONTROLLER} -gt 0 && "${MACHINE}" = "NATIVE" ]]; then REMAP2="*" else REMAP1="*" diff --git a/files/initrd/opt/arc/ramdisk-patch.sh b/files/initrd/opt/arc/ramdisk-patch.sh index 16277107..db994f83 100755 --- a/files/initrd/opt/arc/ramdisk-patch.sh +++ b/files/initrd/opt/arc/ramdisk-patch.sh @@ -117,7 +117,7 @@ mkdir -p "${TMP_PATH}/modules" tar -zxf "${MODULES_PATH}/${PLATFORM}-${KVER}.tgz" -C "${TMP_PATH}/modules" for F in $(ls "${TMP_PATH}/modules/"*.ko); do M=$(basename ${F}) - [ "${ODP}" = "true" ] && [ -f "${RAMDISK_PATH}/usr/lib/modules/${M}" ] && continue + [[ "${ODP}" = "true" && -f "${RAMDISK_PATH}/usr/lib/modules/${M}" ]] && continue if arrayExistItem "${M:0:-3}" "${!USERMODULES[@]}"; then cp -f "${F}" "${RAMDISK_PATH}/usr/lib/modules/${M}" else