Função para gerar senhas alfanuméricas com Shell Script

Tentei escrever o código da forma mais simples, eficaz e econômica para fazer esse script, para entender cada linha/comando é só ler os próprios comentários(#) do código.

#!/bin/bash
# ----------------------------------------------------------------------------
# Autor: Marcos Oliveira, http://terminalroot.com.br
# Função para gerar senhas alfanuméricas com Shell Scripiting
# ./gerarsenha.sh
# Desde: Sáb Fev 16 23:05:55 BRT 2013
# Versão: 1
# Licença: GPL
# ----------------------------------------------------------------------------
gerarsenha(){
 # definimos as variaveis que gerarão a senha
 letras='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ' # todas as letras minúsculas e Maiúsculas
 numeros='0123456789' # todos os números
 lista="$letras$numeros" # juntamos todas as letras mM e todos os números
 # numero de caracteres da senha
 max=10
 # conta o número de caracteres da string lista
 tamanho=${#lista}
 # criamos um loop do zero ao max
 for ((i = 0; i < $max; i++ ))
  do
   # colocamos o +1 para ser diferente de zero, para usar cut tem de ser no mínimo 1
   ordem=$((RANDOM % $tamanho + 1))
   # acumulamos o caracter randomico escolhido pelo cut na variável senha
   senha=$(echo $lista | cut -c "$ordem")
   # imprimimos a variavel senha 10 vezes(max) na mesma linha -n
   echo -n $senha
  done
 # pulamos uma linha final
 echo
}

#chamamos a função
gerarsenha