78 lines
2.0 KiB
Bash
Executable File
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
|