A estrutura básica das condições é a seguinte:
if [ condition ]; then
dosomething
fi
Com mais:
if [ condition ]; then
dosomething
elif [ condition ]; then
dootherthing
else
thelastchancetodosomething
fi
Além disso, acho que essa condição no seu código está errada:
if [ $package == *".tar.gz" ]; then
tar -zxvf folder.tar.gz
fi
Se eu entendi direito, deveria ser algo como:
if echo $package | grep -qF ".tar.gz"; then
tar -zxvf $package
fi
Ah, e use #
para comentários em vez de //
.
Corrigindo seu exemplo e melhorando o recuo para ficar mais claro:
if [ choice = "1" ]; then
if echo $package | grep -qF ".tar.gz"; then
tar -zxvf $package
# You need to close previous 'if' with a 'fi' you want to use another
# 'if' here below, but we can use 'elif', so we don't need to close it.
elif echo $package | grep -qF ".tar.bz2"; then
tar -xvfj $package
fi
cd ${package%.*.*} # this removes the .tar.* extension
./configure
make
make install
elif [ choice = "2" ]; then
dpkg -i $package
fi