Я перепробовал почти все, и когда mpg123 запускается через канал, он возвращает эту ошибку: «Не удается получить атрибуты терминала», и я не могу использовать управляющие клавиши терминала.
Единственный способ найти список файлов, найденных с помощью команды find, и использовать клавиши управления терминалом - это (у меня есть каталоги и файлы с пробелами):
find /media -type f -iname "*.mp3" > /tmp/mp3list
mpg123 -CZvv -@ /tmp/mp3list
Похоже, что mpg123 использует пробел в качестве разделителя, если вы используете $ (find / media -type f -iname "* .mp3") и в моем случае не работает, потому что у меня есть пробелы во всех именах каталогов и почти все имена файлов.
Это скрипт (playmp3.sh), который выполняет поиск только тогда, когда файл не существует:
#!/bin/sh
if ! [ -f /tmp/mp3list ]; then
find /media -type f -iname "*.mp3" > /tmp/mp3list
fi
mpg123 -CZvv -@ /tmp/mp3list