I tried to use array elements from a loop as dynamic key for select related arrays. i tried several methods but internal loops does not work and i can't use parent argument as dynamic key for select correct array.
Any suggestion? Thank you
#!/bin/bash
SUFFIX='.zip'
ZIPCOMMAND=""
DSTDIR="/root/destfiles/"
SRCDIR="/root/srcfiles"
ZIPCOMMAND=""
PACKAGES=("STARTER" "BUSINESS")
STARTER=("209" "Module2")
BUSINESS=("210" "Module1" "Module3")
# packageid, destination command
function make_zip_file {
targetfilename="${2}${1}$(echo -n "${1}" | md5sum | cut -d' ' -f1 ).zip ${3}"
echo "$targetfilename"
}
cd $SRCDIR
declare -p BUSINESS
for j in "${PACKAGES[@]}"; do
COUNT=0;
declare -p j
nums=${#j[@]}
echo "$nums";
if (( $nums > 1 )); then
for i in "${j[@]}"; do
if (( $COUNT == 0 )); then
Packageid=$i;
echo -e "Package id $Packageid";
else
echo -e "# $COUNT - $i$SUFFIX"
ZIPCOMMAND="${ZIPCOMMAND} ${i}${SUFFIX}";
fi
COUNT=$(($COUNT+1));
done
echo -e "$ZIPCOMMAND"
ZIPPARAMS=$(make_zip_file "$Packageid" "$DSTDIR" "$ZIPCOMMAND")
zip -qr $ZIPPARAMS
echo -e "$ZIPPARAMS"
fi
done