Sempre organize seu código e use -eq sempre que executar condições com números inteiros
if [ $type -eq 1 ]
then
date +%s | md5 | base 64 | head -c $length >> $name.txt
elif [ $type -eq 2 ]
then
date +%s | shasum | base 64 | head -c $length >> $name.txt
elif [ $type -eq 3 ]
then
openssl rand -base64 $length >> $name.txt
fi