Пишу свою обёртку для mplayer. Она находит мне сабы по критериям и подсовывает в mplayer, проблема в том, что во время подстановки в команду получается белиберда.
# В $subtitles имена файлов с субтитрами, по одному в строке
if [[ -n $subtitles ]]; then
# Обёртываем каждую строку в ключ -sub и дописываем путь к файлу
subtitles=`echo -e "$subtitles" | sed -r 's|.*|-sub '"$subpath"'&|g' `
fi
$command "$subtitles" "$videofile"
Проблема в том, что когда при вызове $command i. e. mplayer с некими дефолтными ключами, $subtitles находится в кавычках, то он воспринимает всю строку в кавычках, как один параметр и пишет что нет такого файла: "-sub /тра/та/та". Если экранировать пробелы во время подстановки $subpath через `printf %q` или `sed -r 's/ /\\\\\\\ /g'` и убрать кавычки, то mplayer отрежет обратный слеш в пользу файла с субтитрами, а всё что после пробела — в некий файл для проигрывания.