Files
resatennis_tyroltenn/IDrive/.scripts/suBinaryChk.sh

78 lines
2.0 KiB
Bash
Executable File

#!/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