#!/bin/sh appType=$1; SuQnapBin32=$appType"IdriveSu/qnap_x86.zip"; SuQnapBin64=$appType"IdriveSu/qnap_x86_64.zip"; SuQnapArmBin=$appType"IdriveSu/qnap_arm_x09.zip"; SuQnapAarchBin=$appType"IdriveSu/qnap_arm_64.zip"; currentDir=$PWD; #Get Machine type and get evs link sequence machineType="$2"; MACHINE_ARCH=$(uname -m) if [ "$machineType" == "qnap" ] && [ `echo "${MACHINE_ARCH}" | grep -i 'armv'` ]; then arrayLinks="$SuQnapArmBin" elif [ "$machineType" == "qnap" ] && [ "${MACHINE_ARCH}" == 'i686' ]; then arrayLinks="$SuQnapBin32" elif [ "$machineType" == "qnap" ] && [ "${MACHINE_ARCH}" == 'x86' ]; then arrayLinks="$SuQnapBin32" elif [ "$machineType" == "qnap" ] && [ "${MACHINE_ARCH}" == 'x86_64' ]; then arrayLinks="$SuQnapBin64 $SuQnapBin32" elif [ "$machineType" == "qnap" ] && [ "${MACHINE_ARCH}" == 'aarch64' ]; then arrayLinks="$SuQnapAarchBin" else arrayLinks="$SuQnapBin64 $SuQnapBin32 $SuQnapArmBin $SuQnapAarchBin"; fi #Get zip/unzip type sevenUnzip=`which 7z`; if [ $sevenUnzip ]; then unzip="$sevenUnzip x"; else unzip=`which unzip`; fi workStat=0; for i in $arrayLinks do zipName=`echo "${i##*/}"`; cp -rfp $i $currentDir; $unzip "$zipName"; rm "$zipName"; zipFullPath=`echo "$zipName" | cut -d. -f1`; suDir="$currentDir/$zipFullPath"; su="$suDir/su"; chmod 4755 "$su"; suHelpRes=`$su --help 1>out.txt 2>>out.txt`; suHelpResLen=`wc -l out.txt | awk -F " " '{print $1}'`; rm "out.txt" if [ "$suHelpResLen" -gt "5" ]; then cp -rfp $su "$1"; workStat=1; rm -rf $appType"IdriveSu"; fi if [ "$suDir" != "/" ]; then rm -rf "$suDir"; fi if [ "$workStat" -eq "1" ]; then break; fi done echo ""; echo ""; echo "Send the below details to support:"; echo "------------------------------------"; echo "Machine Details: $machineType"; if [ $workStat -eq 1 ]; then echo "Working zip is $zipName"; elif [ $workStat -eq 0 ]; then echo "Unable to find compatible su binary"; fi