код
#!/bin/sh while true do mpc current > current_song.txt mpc idle player done
приводит к
Syntax error: "done" unexpected
Есть какая-то причина, почему это показалось бы неожиданным?
Вам не хватает скобок при условии.
#!/bin/sh while [ true ] do mpc current > current_song.txt mpc idle player done