Aqui está uma variante somente para zsh, livrando-se de ls e shuf :
mplayer *.mp3(oe:REPLY=\$RANDOM:)
O Qualificador de Globo o executa ( e ) o código entre os dois-pontos ( : ). O código, por sua vez, atribui a cada arquivo um número pseudo-aleatório $RANDOM , resultando em uma ordem arbitrária.
Para obscurecer o comando um pouco mais, mas principalmente para salvar pressionamentos de tecla, você pode definir uma função de shell s :
s() { REPLY=$RANDOM }
mplayer *.mp3(oe:s:)
Ou, melhor ainda, definir uma ligação de chave, por ex. para CTRL+R da parte aleatória:
bindkey -s '^R' '(oe:REPLY=\$RANDOM:)^M'
Agora, digite apenas mplayer *.mp3 seguido por CTRL+R , e a parte (oe:REPLY=\$RANDOM:) será anexada e a linha de comando será executada imediatamente ( ^M ).