É apenas que os seus caminhos de arquivo são relativos, e o mplayer parece interpretar isso como relativo à localização da lista de reprodução (e não ao seu diretório de trabalho ou qualquer outra coisa). Para uma aproximação zero, você pode substituir "./" pelo seu diretório atual, mas o que eu acho mais fácil é usar
find "$(pwd)" -maxdepth 1 -name \*.mp3 -o -name \*.wav | mplayer -playlist /dev/fd/3 3<&0 0</dev/tty
(Então, o seu ls
, grep
, awk
é substituído por este find
. É verdade, eu não verifiquei completamente se é totalmente equivalente. Removendo o -maxdepth faria recursão em subdiretórios, o que você pode querer de qualquer maneira? man find
é seu amigo aqui.)