A sintaxe desse script está incorreta, mas é fácil de corrigir:
#!/bin/bash
cmd=$(shuf -e command-1 command-2 command-3 command-4 -n 1)
target_dir=/home/mark/Desktop/PlaylistSongs
case $cmd in
command-1) cp /home/mark/Desktop/PlaylistA/ac.mp3 "$target_dir/" ;;
command-2) cp /home/mark/Desktop/PlaylistB/ac.mp3 "$target_dir/" ;;
command-3) cp /home/mark/Desktop/PlaylistC/ac.mp3 "$target_dir/" ;;
command-4) cp /home/mark/Desktop/PlaylistD/ac.mp3 "$target_dir/" ;;
esac
Enquanto estava nisso, fiz outras melhorias:
- Não se repita: extraia o diretório de destino comum para uma variável
- Não é necessário que o sinal
-r
decp
copie um único arquivo